[프로그래스] 카카오_비밀지도 (자바 풀이)

문제

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

 

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

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

programmers.co.kr

풀이

자바의 라이브러리를 이용해 10진수를 2진수 String으로 쉽게 변환할 수 있다. 이를 통해 쉽게 문제를 해결 할 수 있다. 다만 주의할 점은 String으로 변환 하였을 때 자릿수에 맞게 '0'을 넣어줘야 한다는 것이다.

 

코드

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
class Solution {
    public String[] solution(int n, int[] arr1, int[] arr2) {
        String[] answer = new String[n];
        
        for(int i=0; i<n; i++){
            String decode1 = Integer.toBinaryString(arr1[i]);
            String decode2 = Integer.toBinaryString(arr2[i]);
            String ans = "";
            while(decode1.length() < n){
                decode1 = "0" + decode1;
            }
            while(decode2.length() < n){
                decode2 = "0" + decode2;
            }
            for(int j=0; j<n; j++){
                if(decode1.charAt(j)=='1' || decode2.charAt(j) == '1'){
                    ans += '#';
                }else{
                    ans += " ";
                }
            }
            answer[i] = ans;
        }
        return answer;
    }
}
cs

결과

비밀지도

반응형

댓글

Designed by JB FACTORY