[ํ๋ก๊ทธ๋๋จธ์ค] ๋น๋ฐ์ง๋(JavaScript)
์ ๋ต
function solution(n, arr1, arr2) {
var answer = [];
let sol = [];
for (let i = 0; i < n; i++) {
sol[i] = arr1[i] | arr2[i];
sol[i] = sol[i].toString(2);
sol[i] = sol[i].padStart(n,0).replace(/[1]/gi, "#");
sol[i] = sol[i].padStart(n,0).replace(/[0]/gi, " ");
}
answer = sol;
return answer;
}
์ดํดํ๊ธฐ ์ฝ๊ฒ ์ฝ๋๋ฅผ ์ค์ด์ง ์๊ณ ๋ช ์์ ์ผ๋ก ํํํจ
์ค๋ช
๋ฒฝ = 1, ๋น์นธ = 0 ์ด๋ผ๊ณ ๋ฏธ๋ฆฌ ๋ฐ์๋๊ณ ์๊ฐํ์.
์ง๋1๊ณผ ์ง๋2๋ฅผ ํฉ์น ๋, ํ๋๋ผ๋ ๋ฒฝ์ด ์์ผ๋ฉด ๋ฒฝ์ด ๋์ด์ผ ํ๋ฏ๋ก ๋นํธ์ฐ์ฐ์ OR๋ฅผ ์ด์ฉํ๋ค.
๊ฐ๊ฐ์ ํ ๋ง๋ค ๊ณ์ฐ์ ํด์ค์ผ ํ๋ฏ๋ก for๋ฌธ์ ๋๋ ค์ฃผ๋ฉฐ ํ์ ๊ฒฐ๊ณผ๋ค์ sol๋ฐฐ์ด์ ์ ์ฅํ๋ค.
๋นํธ์ฐ์ฐ์ ํ๋๋ผ๋ ๊ฒฐ๊ณผ๋ 10์ง์๋ก ์ ์ฅ๋๊ธฐ ๋๋ฌธ์ toString()์ ์ด์ฉํด 2์ง์๋ก ๋ฐ๊พธ์ด sol์ ์ ์ฅ์ ํด์ค๋ค.
์ด์ 2์ง์๋ก ์ ์ฅ๋ ๊ฐ๊ฐ์ ํ๋ค์ 1 ->"#", 0 -> " " ์ผ๋ก ๋ฐ๊ฟ์ฃผ๊ธฐ๋ง ํ๋ฉด ์ํ๋ ๊ฒฐ๊ณผ๊ฐ์ด ๋์จ๋ค.
๐(์ฃผ์!!) ๊ทธ์ ์ padStart()๋ฉ์๋๋ฅผ ์ด์ฉํด ์ง๋์ ํฌ๊ธฐ์ ๋ง๊ฒ ๋น์ด์๋ 0์ ๋ฌธ์์ด ์์๋ถ๋ถ์ ์ถ๊ฐํด์ฃผ์.
๊ทธ๋ฆฌ๊ณ replace()๋ฉ์๋ + ์ ๊ทํํ์์ ์ด์ฉํด "1"๊ณผ"0"์ "#"๊ณผ " "์ผ๋ก ๋ณํ ํด์ค๋ค.