본문 바로가기

Python37

[Python] N진수 변환 2진수 format() format()을 사용하여 이진수로 변환이 가능합니다. 이때, 변환 결과로 0bxxxx... 형태로 나오게 되므로 0b를 없에는 처리를 해주어야 합니다. # 방법 1 binary_str1 = "{0:b}".format(arr1[i] | arr2[i]) # 방법 2 binary_str2 = format(arr1[i] | arr2[i], 'b') bin() bin()을 사용하여 이진수로의 변환이 가능합니다. bin()의 변환 결과도 0bxxxx... 형태로 나오기 때문에 0b를 없에줘야 합니다. binary_str = str(bin(arr1[i] | arr2[i]))[2:] zfill(), rjust() format()과 bin()의 결과로 n개의 비트를 가진 이진수를 만들때 비트의 .. 2021. 2. 28.
[Python] 비밀지도 코딩테스트 연습 - [1차] 비밀지도 비밀지도 네오는 평소 프로도가 비상금을 숨겨놓는 장소를 알려줄 비밀지도를 손에 넣었다. 그런데 이 비밀지도는 숫자로 암호화되어 있어 위치를 확인하기 위해서는 암호를 해독해야 한다. 다 programmers.co.kr 풀이 파이썬의 format()을 사용하여 비트연산을 한 결과를 이진수로 바꾸어 문자열로 저장해 주었습니다. 이때, 이진수의 길이는 n개를 필요로 하지만 비트의 앞이 0일 경우 0을 빼고 1인 부분부터 이진수를 만들기 때문에 zfill()을 이용해 0이 빠진 부분에 다시 0을 채웠습니다. 마지막으로 정규표현식 re의 sub()를 사용하여 비트가 1인 부분을 '#' 으로 0인 부분을 ' ' 으로 바꾸어 해결했습니다. 이진수로 바꿀때 bin()을 사용하여 이진.. 2021. 2. 28.
[Python] 키패드 누르기 코딩테스트 연습 - [1차] 비밀지도 비밀지도 네오는 평소 프로도가 비상금을 숨겨놓는 장소를 알려줄 비밀지도를 손에 넣었다. 그런데 이 비밀지도는 숫자로 암호화되어 있어 위치를 확인하기 위해서는 암호를 해독해야 한다. 다 programmers.co.kr 풀이 스마트폰에서의 키패드의 [i, j]위치를 미리 리스트에 초기화 하여 만약 2, 5, 8, 0을 누르게 됬을 때, 점과 점사이의 거리를 구할 수 있게 하여 해결했습니다. 처음 시작할 때 왼쪽 손이 위치한 '*'의 위치와 오른 손이 위치한 '#'의 [i, j] 위치를 꼭 초기화 해야함을 주의해야 합니다. 코드 def solution(numbers, hand): answer = '' phone = [[1, 4, 7], [2, 5, 8, 0], [3, 6,.. 2021. 2. 27.
[Python] 2016년 코딩테스트 연습 - 2016년 2016년 1월 1일은 금요일입니다. 2016년 a월 b일은 무슨 요일일까요? 두 수 a ,b를 입력받아 2016년 a월 b일이 무슨 요일인지 리턴하는 함수, solution을 완성하세요. 요일의 이름은 일요일부터 토요일까 programmers.co.kr 풀이 총 일수를 구하고 일주일은 7일 이므로 총 일수에 7을 나머지연산하여 해결했습니다. 코드 def solution(a, b): answer = '' month = [31, 29, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31] day = ["THU", "FRI", "SAT", "SUN", "MON", "TUE", "WED"] total_day = b for i in range(0, a - 1): .. 2021. 2. 21.
[Python] K번째수 코딩테스트 연습 - K번째수 [1, 5, 2, 6, 3, 7, 4] [[2, 5, 3], [4, 4, 1], [1, 7, 3]] [5, 6, 3] programmers.co.kr 풀이 리스트의 slice를 이용하여 commands에 주어진 i에서 j까지 array를 잘라 새로운 리스트를 만들고 리스트의 sort()를 사용하여 새로운 리스트에서 오름차순으로 정렬된 k번째 수를 구하여 해결했습니다. 코드 def solution(array, commands): answer = [] for command in commands: slice_arr = array[command[0] - 1:command[1]] slice_arr.sort() answer.append(slice_arr[command[2] - 1]) r.. 2021. 2. 20.
[Python] 체육복 코딩테스트 연습 - 체육복 점심시간에 도둑이 들어, 일부 학생이 체육복을 도난당했습니다. 다행히 여벌 체육복이 있는 학생이 이들에게 체육복을 빌려주려 합니다. 학생들의 번호는 체격 순으로 매겨져 있어, 바로 앞번 programmers.co.kr 풀이 여벌의 체육복을 가져왔으면서 도난당한 경우를 처리하기 위해서 lost와 reserve 리스트를 이용해서 lost_student, reserve_student 리스트를 만들었습니다. 다음으로 students 리스트를 학생 수 만큼 크기를 만들고 주변에 여벌이 있는 학생의 경우 reserve_student에서 제거하여 빌리게 하고 주변에 여벌이 있는 학생이 없는 경우 해당 학생은 체육복이 없으므로 students 리스트에서 삭제하여 students의 크기로 체육.. 2021. 2. 13.