상세 컨텐츠

본문 제목

[프로그래머스] [1차] 비밀지도

💯ProblemSolving/문제 풀이-Java

by :부셔져버린개발자 2024. 12. 10. 14:47

본문

       문제 요약        

- 문제

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

 

프로그래머스

SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프

programmers.co.kr

 

 

         아이디어        

이진수로 변환

 

 

         소스코드        

import java.util.*;
class Solution {
    public String[] solution(int n, int[] arr1, int[] arr2) {
        String[] answer = new String[n];
        
        for(int i = 0; i < n; i++) {
            int[] one = decode(n, arr1[i]);
            int[] two = decode(n, arr2[i]);
            StringBuilder sb = new StringBuilder();
            for(int j = 0; j < n; j++) {
                sb.append((one[j] == 1 || two[j] == 1)? '#' : ' ');
            }
            answer[i] = sb.toString();
        }
        
        return answer;
    }
    static int[] decode(int n, int value) {
        int[] res = new int[n];
        int i = 0;
        while(value>0) {
            res[n-1-i] = value%2;
            value /= 2;
            i+=1;
        }
        if(value==1) {
            res[i] = 1;
        }
        return res;
    }
}
728x90

관련글 더보기