Algorithm/ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค

[ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค / Python] ๋น„๋ฐ€์ง€๋„(2018 ์นด์นด์˜ค ์ฝ”๋”ฉํ…Œ์ŠคํŠธ 1์ฐจ)

meeeeejin 2021. 4. 9. 16:13

๋ฌธ์ œ ๋งํฌ: programmers.co.kr/learn/courses/30/lessons/17681

์ฝ”๋”ฉํ…Œ์ŠคํŠธ ์—ฐ์Šต - [1์ฐจ] ๋น„๋ฐ€์ง€๋„

๋น„๋ฐ€์ง€๋„ ๋„ค์˜ค๋Š” ํ‰์†Œ ํ”„๋กœ๋„๊ฐ€ ๋น„์ƒ๊ธˆ์„ ์ˆจ๊ฒจ๋†“๋Š” ์žฅ์†Œ๋ฅผ ์•Œ๋ ค์ค„ ๋น„๋ฐ€์ง€๋„๋ฅผ ์†์— ๋„ฃ์—ˆ๋‹ค. ๊ทธ๋Ÿฐ๋ฐ ์ด ๋น„๋ฐ€์ง€๋„๋Š” ์ˆซ์ž๋กœ ์•”ํ˜ธํ™”๋˜์–ด ์žˆ์–ด ์œ„์น˜๋ฅผ ํ™•์ธํ•˜๊ธฐ ์œ„ํ•ด์„œ๋Š” ์•”ํ˜ธ๋ฅผ ํ•ด๋…ํ•ด์•ผ ํ•œ๋‹ค. ๋‹ค

programmers.co.kr

 

๋ฌธ์ œ ์„ค๋ช…
  1. ๋‘ ์ง€๋„๋ฅผ ๊ฐ๊ฐ ์ด์ง„์ˆ˜๋กœ ๋ณ€ํ™˜ํ•œ๋‹ค. 
  2. ๋‘ ์ง€๋„๋ฅผ ํ•ฉ์นœ๋‹ค.
  3. ํ•ฉ์นœ ์ง€๋„๋ฅผ ์ถœ๋ ฅ ํฌ๋งท์— ๋งž๊ฒŒ ๊ณต๋ฐฑ๊ณผ ๋ฒฝ์œผ๋กœ ์น˜ํ™˜ํ•œ๋‹ค. 

์œ„์™€ ๊ฐ™์€ ์ˆœ์„œ๋กœ ๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐํ–ˆ์Šต๋‹ˆ๋‹ค.

 

์ด๋•Œ 1, 2๋ฒˆ ๊ณผ์ •์€ ๋‹ค์Œ ์ฝ”๋“œ๋กœ ํ‘œํ˜„๋ฉ๋‹ˆ๋‹ค. 

answer.append(bin(arr1[i] | arr2[i])[2:].zfill(n))
  • bin(arr1[i] | arr2[i])๋Š” ๊ฐ๊ฐ์˜ ์ง€๋„๋ฅผ ์ด์ง„์ˆ˜๋กœ ๋ณ€ํ™˜ํ•ด์„œ OR ์—ฐ์‚ฐ์„ ํ•œ ๊ฒƒ ์ž…๋‹ˆ๋‹ค. ๋‘ ์ง€๋„ ๋ชจ๋‘ ๊ณต๋ฐฑ์ผ ๋•Œ(๋ชจ๋‘ 0์ผ ๋•Œ)๋งŒ ๊ณต๋ฐฑ(0)์ด๋ฏ€๋กœ OR ์—ฐ์‚ฐ์„ ์ˆ˜ํ–‰ํ–ˆ์Šต๋‹ˆ๋‹ค. 
  • ๊ทธ ๋’ค์— [2: ]๋Š” bin์„ ํ†ตํ•œ ์ด์ง„์ˆ˜ ๋ณ€ํ™˜ ๊ณผ์ •์—์„œ ์ ‘๋‘์— '0b'๊ฐ€ ๋ถ™๊ธฐ๋•Œ๋ฌธ์— ์ด๋ฅผ ๋–ผ๊ณ  ์ €์žฅํ•˜๊ธฐ ์œ„ํ•œ ์ธ๋ฑ์‹ฑ์ž…๋‹ˆ๋‹ค. 
  • ์ดํ›„ .zfill(n)์€ ๋งŒ์•ฝ ์ด์ง„์ˆ˜๊ฐ€ n์ž๋ฆฌ ์ˆซ์ž๊ฐ€ ์•„๋‹๊ฒฝ์šฐ n์ž๋ฆฌ๊ฐ€ ๋ ๋•Œ๊นŒ์ง€ ์™ผ์ชฝ์— 0์„ ์ถ”๊ฐ€ํ•˜๋Š” ํ•จ์ˆ˜์ž…๋‹ˆ๋‹ค. 

 

 

 

์†Œ์Šค์ฝ”๋“œ
def solution(n, arr1, arr2):
    answer = []

    for i in range(n):
        answer.append(bin(arr1[i] | arr2[i])[2:].zfill(n)) # ๋‘ ์ง€๋„ ํ•ฉ์น˜๊ธฐ
        answer[i] = answer[i].replace('0', ' ')		# 0์„ ๊ณต๋ฐฑ์œผ๋กœ ์น˜ํ™˜
        answer[i] = answer[i].replace('1', '#')		# 1์„ ๋ฒฝ์œผ๋กœ ์น˜ํ™˜
        
    return answer

 

 

 

 

 

 

 

728x90