본문 바로가기

분류 전체보기95

[python] 프로그래머스 영어 끝말잇기 문제 : https://school.programmers.co.kr/learn/courses/30/lessons/12981 📜 접근 방법 찾아야 하는 것 : 가장 먼저 탈락하는 사람과 그 사람이 몇 번째 차례에 탈락하는지 조건 : 이미 말했던 단어를 말하는 경우, 이전 단어의 끝문자와 현재 단어의 첫 문자가 같지 않는 경우 주어진 단어 갯수만큼 반복 dict_에 단어가 없거나 이전 단어 끝 문자와 현재 단어 첫 문자가 같으면 dict_에 넣어주고 저장한 끝 문자를 변경 가장 먼저 탈락하는 사람과 몇번째 차례에 탈락하는지 구한다 ❌ 실패 코드 round 함수를 썼는데 사사오입 원칙으로 인해 제대로 숫자가 변하지 않는 오류 발생 사사오입 원칙 : https://chipndale.tistory.com/5 im.. 2023. 4. 22.
[python] 프로그래머스 올바른 괄호 문제 : https://school.programmers.co.kr/learn/courses/30/lessons/12909 📜 접근 방법 괄호를 스택에 집어넣는데 ')'가 나오면 pop을 하고 '('가 나오면 append 해준다. 단, ')'가 나올시 stack이 비어있으면 False를 출력한다. 또한 괄호를 다 끝내고 stack이 비어있지 않으면 False를 출력한다. ❌ 실패 코드 ✅ 정답 코드 def solution(s): answer = True stack = [] for c in s: if c == ')': if len(stack) == 0: return False stack.pop() elif c == '(': stack.append('(') if stack: return False retur.. 2023. 4. 21.
[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.