[νλ‘κ·Έλλ¨Έμ€/python] 2018 KAKAO BLIND RECRUITMENT : λΉλ°μ§λ
λ¬Έμ μ€λͺ
λ€μ€λ νμ νλ‘λκ° λΉμκΈμ μ¨κ²¨λλ μ₯μλ₯Ό μλ €μ€ λΉλ°μ§λλ₯Ό μμ λ£μλ€. κ·Έλ°λ° μ΄ λΉλ°μ§λλ μ«μλ‘ μνΈνλμ΄ μμ΄ μμΉλ₯Ό νμΈνκΈ° μν΄μλ μνΈλ₯Ό ν΄λ ν΄μΌ νλ€. λ€νν μ§λ μνΈλ₯Ό ν΄λ ν λ°©λ²μ μ μ΄λμ λ©λͺ¨λ ν¨κ» λ°κ²¬νλ€.
- μ§λλ ν λ³μ κΈΈμ΄κ° 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μ λ§μ‘±νλ€.
μΆλ ₯ νμ
μλμ λΉλ°μ§λλ₯Ό ν΄λ νμ¬ '#', 곡백μΌλ‘ ꡬμ±λ λ¬Έμμ΄ λ°°μ΄λ‘ μΆλ ₯νλΌ.
μ λ΅
def solution(n, arr1, arr2):
answer = []
def binary(num):
result = []
while num != 0:
a = num // 2
b = num % 2
result.insert(0, b)
num = a
result = ''.join(map(str, result))
result = '0'*(n-len(result)) + result
return result
for i in range(n):
arr1[i] = str(binary(arr1[i]))
arr2[i] = str(binary(arr2[i]))
line = ''
for j in range(n):
if arr1[i][j] == '1' or arr2[i][j] == '1':
line += '#'
else:
line += ' '
answer.append(line)
return answer
2μ§μλ‘ λ³ννλ ν¨μ binμ μ΄μ©ν΄λ λμ§λ§ binary ν¨μλ‘ μ§μ ꡬνν΄λ³΄μλ€.
π₯ λ³νν 2μ§μλ₯Ό nμλ¦¬λ‘ λ§μΆ°μΌνλ μ μ μ£Όμν΄μΌνλ€.