๐ ๋ฌธ์
๋ค์ค๋ ํ์ ํ๋ก๋๊ฐ ๋น์๊ธ์ ์จ๊ฒจ๋๋ ์ฅ์๋ฅผ ์๋ ค์ค ๋น๋ฐ์ง๋๋ฅผ ์์ ๋ฃ์๋ค. ๊ทธ๋ฐ๋ฐ ์ด ๋น๋ฐ์ง๋๋ ์ซ์๋ก ์ํธํ๋์ด ์์ด ์์น๋ฅผ ํ์ธํ๊ธฐ ์ํด์๋ ์ํธ๋ฅผ ํด๋ ํด์ผ ํ๋ค. ๋คํํ ์ง๋ ์ํธ๋ฅผ ํด๋ ํ ๋ฐฉ๋ฒ์ ์ ์ด๋์ ๋ฉ๋ชจ๋ ํจ๊ป ๋ฐ๊ฒฌํ๋ค.
์ง๋๋ ํ ๋ณ์ ๊ธธ์ด๊ฐ n์ธ ์ ์ฌ๊ฐํ ๋ฐฐ์ด ํํ๋ก, ๊ฐ ์นธ์ "๊ณต๋ฐฑ"(" ") ๋๋ "๋ฒฝ"("#") ๋ ์ข
๋ฅ๋ก ์ด๋ฃจ์ด์ ธ ์๋ค.
์ ์ฒด ์ง๋๋ ๋ ์ฅ์ ์ง๋๋ฅผ ๊ฒน์ณ์ ์ป์ ์ ์๋ค. ๊ฐ๊ฐ "์ง๋ 1"๊ณผ "์ง๋ 2"๋ผ๊ณ ํ์. ์ง๋ 1 ๋๋ ์ง๋ 2 ์ค ์ด๋ ํ๋๋ผ๋ ๋ฒฝ์ธ ๋ถ๋ถ์ ์ ์ฒด ์ง๋์์๋ ๋ฒฝ์ด๋ค. ์ง๋ 1๊ณผ ์ง๋ 2์์ ๋ชจ๋ ๊ณต๋ฐฑ์ธ ๋ถ๋ถ์ ์ ์ฒด ์ง๋์์๋ ๊ณต๋ฐฑ์ด๋ค.
"์ง๋ 1"๊ณผ "์ง๋ 2"๋ ๊ฐ๊ฐ ์ ์ ๋ฐฐ์ด๋ก ์ํธํ๋์ด ์๋ค.
์ํธํ๋ ๋ฐฐ์ด์ ์ง๋์ ๊ฐ ๊ฐ๋ก์ค์์ ๋ฒฝ ๋ถ๋ถ์ 1, ๊ณต๋ฐฑ ๋ถ๋ถ์ 0์ผ๋ก ๋ถํธํํ์ ๋ ์ป์ด์ง๋ ์ด์ง์์ ํด๋นํ๋ ๊ฐ์ ๋ฐฐ์ด์ด๋ค.
๋ค์ค๊ฐ ํ๋ก๋์ ๋น์๊ธ์ ์์ ๋ฃ์ ์ ์๋๋ก, ๋น๋ฐ์ง๋์ ์ํธ๋ฅผ ํด๋
ํ๋ ์์
์ ๋์์ค ํ๋ก๊ทธ๋จ์ ์์ฑํ๋ผ.
๐ ์ ๋ ฅํ์
- ์ ๋ ฅ์ผ๋ก ์ง๋์ ํ ๋ณ ํฌ๊ธฐ n ๊ณผ 2๊ฐ์ ์ ์ ๋ฐฐ์ด arr1, arr2๊ฐ ๋ค์ด์จ๋ค.
- 1 โฆ n โฆ 16
- arr1, arr2๋ ๊ธธ์ด n์ธ ์ ์ ๋ฐฐ์ด๋ก ์ฃผ์ด์ง๋ค.
- ์ ์ ๋ฐฐ์ด์ ๊ฐ ์์ x๋ฅผ ์ด์ง์๋ก ๋ณํํ์ ๋์ ๊ธธ์ด๋ n ์ดํ์ด๋ค. ์ฆ, 0 โฆ x โฆ 2n - 1์ ๋ง์กฑํ๋ค.
๐ ์ถ๋ ฅํ์
- ์๋์ ๋น๋ฐ์ง๋๋ฅผ ํด๋ ํ์ฌ '#', ๊ณต๋ฐฑ์ผ๋ก ๊ตฌ์ฑ๋ ๋ฌธ์์ด ๋ฐฐ์ด๋ก ์ถ๋ ฅํ๋ผ.
๐ ์ ์ถ๋ ฅ ์ ์ค๋ช
๋งค๊ฐ๋ณ์ ๊ฐ
n 5
arr1 [9, 20, 28, 18, 11]
arr2 [30, 1, 21, 17, 28]
์ถ๋ ฅ ["#####","# # #", "### #", "# ##", "#####"]
๋งค๊ฐ๋ณ์ ๊ฐ
n 6
arr1 [46, 33, 33 ,22, 31, 50]
arr2 [27 ,56, 19, 14, 14, 10]
์ถ๋ ฅ ["######", "### #", "## ##", " #### ", " #####", "### # "]
๐ง ํ์ด
function solution(n, arr1, arr2) {
let answer = [];
let changedAnswer = [];
arr1.forEach(el => {
let temp = el.toString(2).split("").map(Number);
while (temp.length !== n) {
temp.unshift(0);
}
answer.push(temp);
})
arr2.forEach((el2, i) => {
let temp2 = el2.toString(2).split("").map(Number);
while (temp2.length !== n) {
temp2.unshift(0);
}
temp2.forEach((e, j) => {
if (e !== 0) {
answer[i][j] = 1;
}
})
})
answer.forEach((row) => {
changedAnswer.push(row.map((e) => e == 1 ? "#" : " ").join(""));
})
return changedAnswer;
}
๐ก ์๊ฒ ๋ ์
- toString(n)์ ํตํด, ์ ์ํ์ n์ง๋ฒ์ผ๋ก ๋ณํํ ์ ์๋ค.
- unshift()๋ฅผ ํตํด, ๋ฐฐ์ด ์ ์๋ฆฌ์ ํ ๋ง๋ฅ ์ํ๋ ์์๋ฅผ ๋ฃ์ ์ ์๋ค.
- map()์ ํตํด, ๊ฐ ์์๋ค์ ์กฐ๊ฑด์ ๋ง๊ฒ ์ฝ๊ฒ ๋ณํํ ์ ์๋ค.