https://tech.kakao.com/2017/09/27/kakao-blind-recruitment-round-1/
1번 문제다 보니 문제 자체는 그렇게 어렵지 않다.
두개의 정수형 배열이 주어지고 각 배열의 정수를 사용하여 비밀지도를 해독하는 문제이다.
먼저 각 배열의 같은 인덱스에 위치해 있는 값은 OR 비트연산을 한다.
이후 비트연산한 값을 2진수로 변환하고 각 자리수가 1이면 #, 0이면 공백으로 변환한다. 마지막으로 이렇게 변환한 문자열의 크기가 지도의 한변의 크기보다 작으면 그 차이 만큼 공백을 더해준다.
// https://tech.kakao.com/2017/09/27/kakao-blind-recruitment-round-1/
// 비밀지도
class Solution {
public String[] solution(int n, int[] arr1, int[] arr2) {
String[] answer = new String[n];
int[] arr = new int[n];
for (int i = 0; i < n; i++) {
int num = arr1[i] | arr2[i];
String s = String.valueOf(Integer.toBinaryString(num));
String result = "";
for (int k = 0; k < s.length(); k++) {
if (s.charAt(k) == '1') {
result += "#";
} else {
result += " ";
}
}
for (int j = 0; j < n - s.length(); j++) {
result = " " + result;
}
System.out.println(result);
answer[i] = result;
}
return answer;
}
}
'알고리즘 문제' 카테고리의 다른 글
카카오 코딩테스트 - 뉴스 클러스터링 (0) | 2019.09.06 |
---|---|
카카오 코딩테스트 - 다트게임 (0) | 2019.09.04 |
카카오 코딩테스트 - 길 찾기 게임 (0) | 2019.09.03 |
[알고리즘 문제] 백준7576 - 토마토 (0) | 2019.08.30 |
카카오 코딩테스트 - 후보키 (0) | 2019.08.28 |