https://programmers.co.kr/learn/courses/30/lessons/17681?language=python3
ํ์ด๊ณผ์ ์์ฝ
๋นํธ์ฐ์ฐ์ or์ ์ฌ์ฉํ ์ฐ์ฐ๊ฒฐ๊ณผ๋ฅผ ์ด์ง์๋ก ํํํด์ ์ ์ฅํ๋ค.
์ด์ง์ ๊ฒฐ๊ณผ๋ฅผ ํ๋์ฉ ํ์ํ๋ฉด์ 1์ #์ผ๋ก, 0์ ๊ณต๋ฐฑ์ผ๋ก ๋ฌธ์์ด ์นํ์ ํด์ฃผ์๋ค.
์ ์ฒด ์ฝ๋
def solution(n, arr1, arr2):
answer = []
dec_arr = list(zip(arr1, arr2))
bin_arr = []
for first, second in dec_arr:
result = first | second
bin_arr.append(bin(result)[2:].zfill(n))
for element in bin_arr:
tmp = element.replace("1", "#").replace("0", " ")
answer.append(tmp)
return answer
Line 4: arr1๊ณผ arr2์ ์์๋ฅผ ์ธ๋ฑ์ค๋ณ๋ก ๊ฐ๊ฐ ๋ฝ์์ ๋ฌถ์ด์ฃผ๊ธฐ ์ํด zip()ํจ์๋ฅผ ์ฌ์ฉํ๋ค.
์ ๋ ฅ์ด arr1 = [9, 20, 28, 18, 11], arr2 = [30, 1, 21, 17, 28] ์ด๋ผ๊ณ ์ฃผ์ด์ง๋ค๋ฉด ๋ค์๊ณผ๊ฐ์ด dec_arr ๋ฆฌ์คํธ์ ์ ์ฅ๋ ๊ฒ์ด๋ค.
Line 6~9: dec_arr ๋ฆฌ์คํธ๋ฅผ ์ํํ๋ฉด์ ๊ฐ ์์๋ค์ ๋ํด OR ๋นํธ์ฐ์ฐ์ ์งํํ๋ค. ๋ฌธ์ ์์ ๋ณด๋ฉด ๊ฒน์น๋ ๋ถ๋ถ์ด ํ๋๋ง 1์ด์ด๋ 1๋ก ๋ํ๋๊ธฐ ๋๋ฌธ์ or์ฐ์ฐ์ ๋๋ ค๋ณด๋ฉด ๊ฒฐ๊ณผ๊ฐ ๋ฐ๋ก ๋์ค๋๊ฑธ ํ์ธํ ์์๋ค. ์ฐ๋ฆฌ๊ฐ ์ํ๋๊ฑด ์ด์ง์ ํํ์ด๊ธฐ ๋๋ฌธ์ result๋ฅผ binaryํํ๋ก ๋ฐ๊ฟ์ค๋ค์, ์์ 0b๋ฅผ ์ง์ฐ๊ธฐ ์ํด์ ๋ฌธ์์ด ์ฌ๋ผ์ด์ฑ์ ํด์ฃผ์๋ค.
๊ทธ๋ฆฌ๊ณ zfill() ํจ์๋ฅผ ์ฌ์ฉํ์ฌ ๋ฌธ์์ด์ n๊ธธ์ด๋ก ๋ง๋ค๊ธฐ ์ํด ์์ 0์ผ๋ก ์ฑ์์ค๋ค.
Line 11~13: ๋ง์ง๋ง์ผ๋ก, ๋ชจ๋ ์์๋ค์ ๋ํด ๋ฌธ์์ด "1"์ "#"์ผ๋ก, "0"์ " " ์ผ๋ก ์นํํด์ฃผ๊ธฐ ์ํด ๋ฌธ์์ด ์นํํ๋ ํจ์ replace()๋ฅผ ์ฌ์ฉํด์ฃผ์๋ค.
'๐ป๊ฐ๋ฐ๊ณต๋ถ > Algorithm' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[JS ์๊ณ ๋ฆฌ์ฆ] ํ๋ก๊ทธ๋๋จธ์ค K๋ฒ์งธ ์ (0) | 2021.09.16 |
---|---|
[ํ๋ก๊ทธ๋๋จธ์ค] ํํ Python (์นด์นด์ค ๊ธฐ์ถ) (0) | 2021.09.07 |
[ํ๋ก๊ทธ๋๋จธ์ค] ์คํ์ฑํ ๋ฐฉ (Python) (0) | 2021.08.13 |
[ํ๋ก๊ทธ๋๋จธ์ค] ๋๋จธ์ง ํ ์ (Python) (0) | 2021.06.24 |
๋ฐฑ์ค 9095: 1,2,3 ๋ํ๊ธฐ (DP) (0) | 2021.05.31 |