프로그래머스 [1차] 비밀지도 [Java]
문제출처
https://programmers.co.kr/learn/courses/30/lessons/17681
class Solution {
public String[] solution(int n, int[] arr1, int[] arr2) {
String[] answer = new String[n];
for(int i = 0; i < n; i++){
answer[i] = Integer.toBinaryString(arr1[i] | arr2[i]);
while(answer[i].length() < n){
answer[i] = "0" + answer[i];
}
answer[i] = answer[i].replaceAll("1", "#");
answer[i] = answer[i].replaceAll("0", " ");
}
return answer;
}
}
arr1과 arr2를 2진수로 변환하고 OR연산 후 1은 #으로 0은 공백으로 바꿔주는 단순한 알고리즘이었다.
Integer.toBinaryString이 |나 &연산이 되는지 몰랐는데 하나 배웠다.
카카오 공식해설(?)은 이쪽
https://tech.kakao.com/2017/09/27/kakao-blind-recruitment-round-1/
역시나 여기서 중요한 것은 비트연산이라고 강조하고 있다.
'문제풀이 > 코딩테스트' 카테고리의 다른 글
프로그래머스 소수 찾기 [Java] (0) | 2022.03.31 |
---|---|
프로그래머스 [1차] 다트 게임 [Java] (0) | 2022.03.17 |
프로그래머스 부족한 금액 [Java] (0) | 2022.03.08 |
프로그래머스 예산 [Java] (0) | 2022.03.06 |
프로그래머스 실패율 [Java] (0) | 2022.03.03 |