반응형
문제 정보는 아래 링크를 확인해주세요!
[비밀지도]
문제 접근 방법
- arr1 문자열 배열과 arr2 문자열 배열을 or 연산하고 이진수로 만든다.
- or 연산한 이진수의 길이가 n보다 작다면
- 이진수의 앞에 필요한 길이만큼 0을 추가해준다.
- 해당 이진수의 각각의 자릿수가 0이면 공백으로, 1이면 #으로 만들고 결과값에 추가해준다.
- 결과값 배열을 반환한다.
[소스 코드]
package algorithm.programmers;
/*
* 2018 KAKAO BLIND RECRUITMENT
* [1차] 캐시
* */
public class Pro17681 {
public static String binary(String str, int n) {
while (str.length() < n) {//이진수가 n보다 작으면 n만큼 자릿수를 만들어준다.
str = "0" + str;
}
return str;
}
public String[] solution(int n, int[] arr1, int[] arr2) {
String[] answer = new String[n];
for (int i =0; i<n; i++) {
answer[i] = binary(Integer.toBinaryString(arr1[i] | arr2[i]),n)//arr1과 arr2를 or연산한 이진수로 만든다.
.replace("1","#")//1은 #으로
.replace("0"," ");//0은 공백으로 표시
}
return answer;
}
}
반응형
LIST
'알고리즘 > 연습문제' 카테고리의 다른 글
2018 카카오 블라인드 코딩테스트 - [3차] 압축 (feat. Java) (0) | 2020.05.14 |
---|---|
2018 카카오 블라인드 코딩테스트 - [3차] 방금그곡 (feat. Java) (0) | 2020.05.14 |
2018 카카오 블라인드 코딩테스트 - [1차] 캐시 (feat. Java) (0) | 2020.05.13 |
2018 카카오 블라인드 코딩테스트 - [1차] 프렌즈4블록 (feat. Java) (0) | 2020.05.13 |
2018 카카오 블라인드 코딩테스트 - [1차] 셔틀버스 (feat. Java) (0) | 2020.05.13 |