
문제 설명
입출력 예시
요약
2진수 형태로 변환 후 합치기
풀이
접근 방식
1. 2진수 형태로 변환
→ toBinaryString()을 통해 decimal to binary 변환
2. 정사각형 배열의 크기만큼 빈공간은 공백으로 채우기
→ StringBuilder의 insert() 메소드를 통해 문자열에 문자 채우기
코드리뷰
import java.util.*;
class Solution {
public String[] solution(int n, int[] arr1, int[] arr2) {
String s1 = "";
String s2 = "";
List<String> list = new ArrayList<>();
for(int i = 0; i < arr1.length; i++) {
s1 = Integer.toBinaryString(arr1[i]); // 10진수 → 2진수 변환
s2 = Integer.toBinaryString(arr2[i]);
while(s1.length() < n) { // 문자열 앞에 공백으로 채우기
StringBuilder sb = new StringBuilder(s1);
s1 = String.valueOf(sb.insert(0, " "));
}
while(s2.length() < n) {
StringBuilder sb = new StringBuilder(s2);
s2 = String.valueOf(sb.insert(0, " "));
}
String s3 = "";
for(int j = 0; j < s1.length(); j++) {
if(s1.charAt(j) == '1' || s2.charAt(j) == '1') { // 각 문자열의 같은 인덱스에 위치한 문자끼리 비교
s3 += "#"; // 하나라도 1이면 '#'
} else {
s3 += " "; // 둘 다 0이면 공백
}
}
list.add(s3);
}
String[] answer = new String[list.size()];
for(int i = 0; i < list.size(); i++) {
answer[i] = list.get(i);
}
return answer;
}
}
'알고리즘 > PROGRAMMERS' 카테고리의 다른 글
3월에 태어난 여성 회원 목록 출력하기(DB) (0) | 2024.03.22 |
---|---|
숫자 문자열과 영단어(Lv.1) (0) | 2024.03.22 |
의상(Lv.2) (0) | 2024.03.22 |
캐시(Lv.2) (0) | 2024.03.22 |
기능개발(Lv.2) (1) | 2024.03.22 |