[Programmers / Level 1] 17681. [1차] 비밀지도 / 2018 KAKAO BLIND RECRUITMENT (Java)

이하얀·2024년 11월 9일
0

🕊️ 프로그래머스

목록 보기
63/82

💡 Info




입출력 조건




입출력 예시




문제 이해


  • 2개의 정수를 입력받아서 비트 연산으로 지도에 표시하는 문제(문자열 배열로 출력)


알고리즘


풀이 시간 : 47분

  1. OR 연산으로 arr1, arr2를 합치고, 두 지도 중 하나라도 벽 즉, 1인 곳은 결과 지도에서 벽으로 표시하기
  2. OR 연산 결과를 이진수로 변환하기
  • 문자열 길이 < n -> 앞에 0을 채워서 n의 자릿수 맞추기
  1. 1을 #으로, 0을 ' '으로 변환하기
  2. 배열로 최종 지도값 반환
import java.util.*;

class Solution {
    public String[] solution(int n, int[] arr1, int[] arr2) {
        String[] result = new String[n];

        for (int i = 0; i < n; i++) {
            String binaryString = String.format("%" + n + "s", Integer.toBinaryString(arr1[i] | arr2[i]));
            
            result[i] = binaryString.replace('1', '#').replace('0', ' ');
        }

        return result;
    }
}


결과

profile
언젠가 내 코드로 세상에 기여할 수 있도록, BE&Data Science 개발 기록 노트☘️

0개의 댓글