본문 바로가기

코딩테스트/Python43

[python 백준 9358] 순열 접기 게임 📜 접근 방법 양 끝의 수를 더하되 리스트의 갯수가 2개가 아닐 때까지 더한다. 리스트의 갯수가 홀수일 경우 가운데 있는 수를 2번 더해야한다. 리스트의 갯수가 2개일 경우 while문을 종료하고 숫자 비교후 출력 ❌ 실패 코드 시간 초과 import sys def fold(arr): new_arr = [] i = 0 j = len(arr) - 1 while i new_arr[1]: print("Case #", i, ": Alice", sep="") else: print("Case #", i, ": Bob", sep="") 다른 분이 한걸 보니 재귀로 돌려서 위의 코드에서 재귀로 변경 ✅ 정답 코드 import sys def fold(arr): if len(arr) == 2: return arr new_.. 2023. 1. 17.
[python 백준 5052] 전화번호 목록 접근 방법 숫자 갯수가 작은 순으로 정렬 문자열로 변환 정렬된 순서로 특정 전화번호와 다른 전화번호들을 비교(특정 전화번호 갯수까지 잘라서 그부분만 비교) 같을 경우 YES 출력 후 종료 다를 경우 3번 반복 실패 코드(시간초과) import sys t = int(sys.stdin.readline()) for i in range(t): n = int(sys.stdin.readline()) phone_list = [int(sys.stdin.readline()) for i in range(n)] phone_list.sort() phone_list = list(map(str, phone_list)) index = 0 check = 0 while index < n - 1: if check: break phone.. 2023. 1. 16.
[python 백준 13904] 과제 📜 접근 방법 날짜순으로 오름차순 정렬 제일 긴 마감일 찾기 그 날로부터 가능한 과제 중 제일 높은 점수 고르기 모든 과제 : [1, 20], [2, 50], [3, 30], [4, 60], [4, 40], [4, 10], [6, 5] 6일째에 수행 가능한 과제 : [6, 5] 5일째에 수행 가능한 과제 : X 4일째에 수행 가능한 과제 : [4, 60], [4, 40], [4, 10] 3일째에 수행 가능한 과제 : [3, 30], [4, 40], [4, 10] 2일째에 수행 가능한 과제 : [2, 50], [3, 30], [4, 10] 1일째에 수행 가능한 과제 : [1, 20], [3, 30], [4, 10] 최대 총 점수 : 185 ❌1일차 부터 하면 안되는 이유! 모든 과제 : [1, 20], [.. 2023. 1. 15.
[python 백준 1931] 회의실 배정 📜 접근 방법 처음에 잘못읽어서 최소 필요한 회의실 갯수로 착각,,, 회의 정보의 시작시간을 오름차순 후 끝나는 시간을 오름차순 끝나는 시간과 다음 회의 시작 시간을 비교(끝나는 시간보다 다음 회의 시작 시간이 클 경우 회의 가능) 2번 반복 ✅ 정답 코드 import sys n = int(sys.stdin.readline()) arr = [] for i in range(n): s, e = map(int, sys.stdin.readline().split()) arr.append([s, e]) # arr.sort(key = lambda x: (x[1], x[0])) # 아래와 같음 arr.sort(key = lambda x: x[0]) arr.sort(key = lambda x: x[1]) last_tim.. 2023. 1. 14.