Algorithm/Programmers
[Java] ํ๋ก๊ทธ๋๋จธ์ค - ๋น๋ฐ์ง๋
๊ฐ๋ฐ๊ฐ๊ตด๐ธ
2022. 7. 7. 20:44
[๋ฌธ์ ]
https://school.programmers.co.kr/learn/courses/30/lessons/17681
ํ๋ก๊ทธ๋๋จธ์ค
์ฝ๋ ์ค์ฌ์ ๊ฐ๋ฐ์ ์ฑ์ฉ. ์คํ ๊ธฐ๋ฐ์ ํฌ์ง์ ๋งค์นญ. ํ๋ก๊ทธ๋๋จธ์ค์ ๊ฐ๋ฐ์ ๋ง์ถคํ ํ๋กํ์ ๋ฑ๋กํ๊ณ , ๋์ ๊ธฐ์ ๊ถํฉ์ด ์ ๋ง๋ ๊ธฐ์ ๋ค์ ๋งค์นญ ๋ฐ์ผ์ธ์.
programmers.co.kr
[ํ์ด]
์ฐ์ arr1[]๊ณผ arr2[]์ ์ซ์๋ค์ binaryNumber()์ ํตํด 2์ง์์ String ๋ณ์๋ก ๋ณํํฉ๋๋ค.
๋ค์์ผ๋ก ํด๋น String๋ณ์๋ฅผ split()์ ํตํด bit๋ก ์ชผ๊ฐ ํ, || ์ฐ์ฐ์ ํตํด ๋์ค 1๊ฐ๊ฐ 1์ด๋ผ๋ฉด #์ ์ ์ฅํฉ๋๋ค.
[์ฝ๋]
class Solution {
public String[] solution(int n, int[] arr1, int[] arr2) {
String[] answer = new String[n];
for(int i=0;i<n;i++) {
String[] s1 = binaryNumber(arr1[i], n).split("");
String[] s2 = binaryNumber(arr2[i], n).split("");
String result = "";
for(int j=0;j<n;j++) {
if(s1[j].equals("1") || s2[j].equals("1")) {
result += "#";
} else {
result += " ";
}
}
answer[i] = result;
}
return answer;
}
public static String binaryNumber(int num, int n) {
String str = "";
while(num > 0) {
if(num%2 == 0) {
str = 0 + str;
} else {
str = 1 + str;
}
num /= 2;
}
int len = str.length();
if(len < n) {
for(int i=0;i<n-len;i++) {
str = 0 + str;
}
}
return str;
}
}