반응형
풀이
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] = ""; // answer[i]를 빈 무자열로 초기화
String arr1Str = Integer.toString(arr1[i], 2);
String arr2Str = Integer.toString(arr2[i], 2);
// 자릿수에 맞게 앞쪽에 0을 채워줌
while (arr1Str.length() < n || arr2Str.length() < n){
if (arr1Str.length() < n)
arr1Str = "0" + arr1Str;
if (arr2Str.length() < n)
arr2Str = "0" + arr2Str;
}
for (int j = 0; j < n; j++){
// OR 비트 연산을 통해 true/false를 판단
// true일 때는 answer에 #을 이어붙임
if (Character.getNumericValue(arr1Str.charAt(j)) != 0
| Character.getNumericValue(arr2Str.charAt(j)) != 0)
answer[i] += "#";
// false일 때는 answer에 공백을 이어붙임
else
answer[i] += " ";
}
}
return answer;
}
}
성능

'코딩테스트준비 > 프로그래머스' 카테고리의 다른 글
[프로그래머스][JAVA] 3진법 뒤집기 (1) | 2022.09.23 |
---|
반응형
풀이
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] = ""; // answer[i]를 빈 무자열로 초기화
String arr1Str = Integer.toString(arr1[i], 2);
String arr2Str = Integer.toString(arr2[i], 2);
// 자릿수에 맞게 앞쪽에 0을 채워줌
while (arr1Str.length() < n || arr2Str.length() < n){
if (arr1Str.length() < n)
arr1Str = "0" + arr1Str;
if (arr2Str.length() < n)
arr2Str = "0" + arr2Str;
}
for (int j = 0; j < n; j++){
// OR 비트 연산을 통해 true/false를 판단
// true일 때는 answer에 #을 이어붙임
if (Character.getNumericValue(arr1Str.charAt(j)) != 0
| Character.getNumericValue(arr2Str.charAt(j)) != 0)
answer[i] += "#";
// false일 때는 answer에 공백을 이어붙임
else
answer[i] += " ";
}
}
return answer;
}
}
성능

'코딩테스트준비 > 프로그래머스' 카테고리의 다른 글
[프로그래머스][JAVA] 3진법 뒤집기 (1) | 2022.09.23 |
---|