Recent Posts
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
Tags
- 오블완
- tolerated
- preemption #
- 코루틴 빌더
- 달인막창
- JanusWebRTCGateway
- pytest
- mp4fpsmod
- python
- Spring Batch
- vfr video
- 티스토리챌린지
- 코루틴 컨텍스트
- 자원부족
- PersistenceContext
- taint
- kotlin
- JanusGateway
- 개성국밥
- 겨울 부산
- table not found
- Value too long for column
- PytestPluginManager
- JanusWebRTCServer
- 헥사고날아키텍처 #육각형아키텍처 #유스케이스
- JanusWebRTC
- 깡돼후
- VARCHAR (1)
- k8s #kubernetes #쿠버네티스
- terminal
Archives
너와 나의 스토리
"2018 KAKAO BLIND RECRUITMENT" > [1차] 비밀지도 본문
반응형
문제: programmers.co.kr/learn/courses/30/lessons/17681
<조건>
- 입력으로 지도의 한 변 크기 n과 2개의 정수 배열 arr1, arr2가 들어온다.
- 1 ≦ n ≦ 16
- arr1, arr2는 길이 n인 정수 배열로 주어진다.
- 정수 배열의 각 원소 x를 이진수로 변환했을 때의 길이는 n 이하이다. 즉, 0 ≦ x ≦ 2n - 1을 만족한다.
- 지도는 한 변의 길이가 n인 정사각형 배열 형태로, 각 칸은 공백(" ") 또는 벽("#") 두 종류로 이루어져 있다.
- 공백을 그냥 '\0'으로 두면, 틀리므로 주의하자
- 전체 지도는 두 장의 지도를 겹쳐서 얻을 수 있다. 각각 지도 1과 지도 2라고 하자. 지도 1 또는 지도 2 중 어느 하나라도 벽인 부분은 전체 지도에서도 벽이다. 지도 1과 지도 2에서 모두 공백인 부분은 전체 지도에서도 공백이다.
- 지도 1과 지도 2는 각각 정수 배열로 암호화되어 있다.
- 암호화된 배열은 지도의 각 가로줄에서 벽 부분을 1, 공백 부분을 0으로 부호화했을 때 얻어지는 이진수에 해당하는 값의 배열이다.
문제 풀이:
- 비밀지도를 기록할 변수 arr[][]을 정의한다.
- 각 정수 배열에 속하는 원소들을 이진수로 변환하여 기록한다.
- arr1에 대해서 기록할 때, 0에 해당하는 부분들은 공백으로 채워둔다.
- arr2에서는 1에 대해서만 #으로 채워주면 된다.
소스 코드:
#include <string>
#include <vector>
using namespace std;
char arr[18][18];
vector<string> solution(int n, vector<int> arr1, vector<int> arr2) {
vector<string> answer;
for (int i = 0; i < arr1.size(); i++) {
int p = n - 1;
int val = arr1[i];
while (val > 0) {
if (val % 2 == 1) arr[i][p] = '#';
else arr[i][p] = ' ';
val /= 2;
p--;
}
while (p >= 0) {
arr[i][p] = ' ';
p--;
}
}
for (int i = 0; i < arr2.size(); i++) {
int p = n - 1;
int val = arr2[i];
while (val > 0) {
if (val % 2 == 1) arr[i][p] = '#';
val /= 2;
p--;
}
}
for(int i=0;i<n;i++){
answer.push_back(arr[i]);
}
return answer;
}
반응형
'Algorithm > 구현' 카테고리의 다른 글
"2018 KAKAO BLIND RECRUITMENT" > [1차] 캐시 (0) | 2020.10.10 |
---|---|
"2018 KAKAO BLIND RECRUITMENT" > [1차] 프렌즈4블록 (0) | 2020.10.09 |
[SW Expert Academy] 1824. 혁진이의 프로그램 검증 (0) | 2020.06.07 |
[BOJ] 18809 Gaaaaaaaaaarden (0) | 2020.05.19 |
[BOJ] 18808 스티커 붙이기 (0) | 2020.05.19 |
Comments