문제
코딩테스트 연습 - [1차] 비밀지도
비밀지도 네오는 평소 프로도가 비상금을 숨겨놓는 장소를 알려줄 비밀지도를 손에 넣었다. 그런데 이 비밀지도는 숫자로 암호화되어 있어 위치를 확인하기 위해서는 암호를 해독해야 한다. 다
programmers.co.kr
알고리즘
- 두 개의 지도의 10진수를 2진수 n자리로 변환한다.
- 반복문을 통해 지도의 각 자리를 비교한다.
- 비교 과정에서 각 자리의 수를 더하고, 0보다 크다면 그 자리는 벽이 되고 0이라면 그 자리는 공백이 된다.
- 지도의 모든 자리를 확인 후 해독한 암호 지도를 리턴한다.
코드
def solution(n, arr1, arr2):
answer = []
temp1 = [format(i, 'b').zfill(n) for i in arr1] # arr1 => 2진수 n자리로 변환
temp2 = [format(j, 'b').zfill(n) for j in arr2] # arr2 => 2진수 n자리로 변환
# 반복문을 통해 지도의 각 자리를 비교
for a1, a2 in zip(temp1, temp2):
cnt = ""
for k in range(n):
# 각 자리의 수를 더했을 때 0보다 크면 : 벽
if int(a1[k]) + int(a2[k]) > 0:
cnt += "#"
# 0보다 작으면 : 공백
else:
cnt += " "
answer.append(cnt)
return answer
# print(solution(6, [46, 33, 33, 22, 31, 50], [27, 56, 19, 14, 14, 10])) # 예시 코드
github
GitHub - junjange/CodingTest: 내가 푼 코딩 테스트 문제와 해결법
내가 푼 코딩 테스트 문제와 해결법. Contribute to junjange/CodingTest development by creating an account on GitHub.
github.com
'CodingTest > Programers' 카테고리의 다른 글
[programers] 프로그래머스(파이썬) : 소수 만들기 (0) | 2022.04.24 |
---|---|
[programers] 프로그래머스(파이썬) : 신고 결과 받기 (0) | 2022.04.23 |
[programers] 프로그래머스(파이썬) : 다단계 칫솔 판매 (0) | 2022.01.21 |
[programers] 프로그래머스 카카오(파이썬) : [1차] 다트 게임 (0) | 2022.01.14 |
[programers] 프로그래머스 카카오(파이썬) : [3차] n진수 게임 (0) | 2022.01.07 |