programmers.co.kr/learn/courses/30/lessons/17681
코딩테스트 연습 - [1차] 비밀지도
비밀지도 네오는 평소 프로도가 비상금을 숨겨놓는 장소를 알려줄 비밀지도를 손에 넣었다. 그런데 이 비밀지도는 숫자로 암호화되어 있어 위치를 확인하기 위해서는 암호를 해독해야 한다. 다
programmers.co.kr
class Solution {
public String[] solution(int n, int[] arr1, int[] arr2) {
String[] answer = new String[n];
char[][] arr1Binaries = new char[n][n];
char[][] arr2Binaries = new char[n][n];
decryptMap(n, arr1, arr1Binaries);
decryptMap(n, arr2, arr2Binaries);
char[][] decryptedMap = new char[n][n];
for (int row_i = 0; row_i < n; row_i++){
for (int col_i = 0; col_i < n; col_i++){
if (arr1Binaries[row_i][col_i] == '1' || arr2Binaries[row_i][col_i] == '1'){
decryptedMap[row_i][col_i] = '#';
}else{
decryptedMap[row_i][col_i] = ' ';
}
}
}
for (int i = 0; i < n; i++){
answer[i] = String.valueOf(decryptedMap[i]);
}
return answer;
}
private void decryptMap(int n, int[] arr, char[][] arrBinaries) {
for (int row_i = 0; row_i < n; row_i++) {
int secretRowNum = arr[row_i];
String decryptedRow = String.format("%0" + n + 'd', Long.parseLong(Integer.toBinaryString(secretRowNum)));
for (int char_i = 0; char_i < n; char_i++) {
arrBinaries[row_i][char_i] = decryptedRow.charAt(char_i);
}
}
}
}
'Problem-solving > 프로그래머스' 카테고리의 다른 글
프로그래머스 - (2018 KAKAO BLIND RECRUITMENT) [1차]다트 게임 (Java) (0) | 2020.11.22 |
---|---|
프로그래머스 - (2019 KAKAO BLIND RECRUITMENT) 실패율 (Java) (0) | 2020.11.22 |
프로그래머스 - (2020 카카오 인턴십) 키패드 누르기 (Java) (0) | 2020.11.21 |
프로그래머스 - (2019 카카오 개발자 겨울 인턴십) 크레인 인형뽑기 게임 (Java) (0) | 2020.11.21 |
프로그래머스 - (2018 KAKAO BLIND RECRUITMENT) [3차]자동완성 (Python3) (0) | 2020.09.03 |
댓글