본문 바로가기
프로그래머스

프로그래머스 [1차] 비밀지도(2018 KAKAO BLIND RECRUITMENT)

by 콩순이냉장고 2021. 9. 8.

문제 URL : https://programmers.co.kr/learn/courses/30/lessons/17681

 

코딩테스트 연습 - [1차] 비밀지도

비밀지도 네오는 평소 프로도가 비상금을 숨겨놓는 장소를 알려줄 비밀지도를 손에 넣었다. 그런데 이 비밀지도는 숫자로 암호화되어 있어 위치를 확인하기 위해서는 암호를 해독해야 한다. 다

programmers.co.kr

 

문제 접근법 : 비트연산만 할줄알면 매우쉬운문제입니다. 두배열의 값을 or하여 길이가 n인 2진수값을 만들어

1은# 0은 띄어쓰기로 채워넣어주면됩니다.

 

소스코드 :

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
#include <bits/stdc++.h>
using namespace std;
vector<string> solution(int n, vector<int> arr1, vector<int> arr2) {
    vector<string> answer;
    for (int i = 0; i < arr1.size(); i++) {
        arr1[i] |= arr2[i];
        string s;
        for (int j = 0; j < n; j++) {
            s += (arr1[i] % 2 ? "#" : " ");
            arr1[i] /= 2;
        }
        reverse(s.begin(), s.end());
        answer.push_back(s);
    }
    return answer;
}
cs

" target="_blank" rel="noopener" data-mce-href="http://

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
#include <bits/stdc++.h>
using namespace std;
vector<string> solution(int n, vector<int> arr1, vector<int> arr2) {
    vector<string> answer;
    for (int i = 0; i < arr1.size(); i++) {
        arr1[i] |= arr2[i];
        string s;
        for (int j = 0; j < n; j++) {
            s += (arr1[i] % 2 ? "#" : " ");
            arr1[i] /= 2;
        }
        reverse(s.begin(), s.end());
        answer.push_back(s);
    }
    return answer;
}
cs

 

 

궁금한점 혹은 모르는점 어떤질문이든 댓글은 언제나 환영입니다. 

공감 눌러주실꺼죠?