http://tech.kakao.com/2017/09/27/kakao-blind-recruitment-round-1/
카카오 신입 공채 1차 코딩 테스트로 나온 문제 중 가장 첫 번째인 비밀 지도 풀이입니다.
딱히 python이 주언어가 아니지만 한참 python을 학습하였기 때문에
문제 풀이를 python으로 한번 도전 해봤습니다.
사실 코드를 치기 전 문제를 읽고 해석하는데(?) 많은 시간을 소비한 건 안 비밀.
feat. 난 여전히 웹이 안되고 책이 없으면 아무 코드도 못 친다.ㅋㅋ
주피터 환경에서 해설과 겸해 코드를 첨부합니다.
https://drive.google.com/file/d/1f-57rCEhrqkH4-HYkfSKAlfPhqV5GHal/view?usp=sharing
py파일 다운로드
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 | # 카카오 알고리즘 테스트 - 비밀 지도 # 사용자로부터 n 값 입력받기 # example : 5를 입력해보세요 n = int(input("n변수 입력 : ")) # 리스트 변수 초기화 # arr1 : 지도1 값 리스트 # arr2 : 지도2 값 리스트 # arr_add : 지도1 + 지도2 값 리스트 arr1 = [] arr2 = [] arr_add = [] # 사용자로부터 지도1, 지도2 값 입력받기 # example : { 9, 20, 28, 18, 11 } 을 입력해보세요 # example : { 30, 1, 21, 17, 28 } 을 입력해보세요 for i in range(n): arr1.append(int(input("arr1의 {}번째 값 입력 : ".format(i+1)))) for i in range(n): arr2.append(int(input("arr2의 {}번째 값 입력 : ".format(i+1)))) # 지도1 값과 지도2 값을 2진수 OR 논리합 하기""" for i in range(n): arr_add.append(bin(arr1[i] | arr2[i])[2:].replace('0',' ').replace('1', '#')) # 출력하기 # example : 출력 결과 ['#####', '# # #', '### #', '#00##', '#####'] print(arr_add) # Example # n = 5 # arr1 = [9, 20, 28, 18, 11] # arr2 = [30, 1, 21, 17, 28] # 출력 ['#####', '# # #', '### #', '#__##', '#####'] | cs |