본문 바로가기

프로그래머스7

[python] 프로그래머스 콜라 문제 📜 접근 방법 콜라 갯수가 a 이상일때 까지 반복한다. 가지고 있는 n개의 병 중 빈 병 a개를 나눠 사용할 병 갯수(가져다 줄 빈병 갯수=using)를 구한다 n개의 병에서 가져다줄 빈병 갯수(a * using)을 빼주고 빈병을 주고 받은 병(add_coke)을 n에 더한다 받은 병(add_coke)을 answer에 더한다. ❌ 실패 코드 ✅ 정답 코드 def solution(a, b, n): answer = 0 while n >= a: using = n // a add_coke = using * b n -= using * a n += add_coke answer += add_coke return answer 💡알게 된점 종료 조건이 바로 생각나서 쉽게 풀 수 있었다. https://school.pro.. 2023. 4. 19.
[python] 프로그래머스 호텔 대실 📜 접근 방법 시작 시간을 기준으로 오름차순을 한다. 리스트에 끝나는 시간을 넣는다. 시작시간과 끝나는 시간을 비교하여 시작시간이 끝나는 시간 + 10분보다 작으면 객실 수를 추가한다. 비슷한 문제 : https://www.acmicpc.net/problem/1374 ❌ 실패 코드 문자열을 시간으로 바꾸는 것에서 문제가 생겼다. ✅ 정답 코드 from heapq import heappush, heappop def solution(book_time): answer = 0 heap = [] time_list = [] for s, e in book_time: time_list.append([int(s[:2]) * 60 + int(s[3:]), int(e[:2]) * 60 + int(e[3:])]) time_l.. 2023. 4. 16.
[python] 혼자서 하는 틱택토 📜 접근 방법 O가 이길경우 -> O의 갯수가 1개 많아야함 X가 이길 경우 -> X의 갯수와 O의 갯수가 같아야함 칸을 다 채우고 비길 경우 -> O의 갯수가 1개 많아야함 경기가 진행중일 경우 -> X의 갯수와 O의 갯수가 같거나 O의 갯수가 1개 많아야함 ❌ 실패 코드 대각선 부분 코드를 잘못 짰었음 ✅ 정답 코드 def solution(board): o_count = 0 x_count = 0 for n in board: o_count += n.count("O") x_count += n.count("X") if (o_count - x_count != 0) and (o_count - x_count != 1): return 0 # 가로 x_win = 0 o_win = 0 for n in board: i.. 2023. 4. 7.