오블완
99클럽 코테 스터디 15일차 TIL - 그리디 (백준13417 - 카드 문자열)
99클럽 코테 스터디 15일차 TIL - 그리디 (백준13417 - 카드 문자열)
2024.11.11https://www.acmicpc.net/problem/13417오늘의 학습 키워드 : 그리디1. 덱 초기화:첫 번째 카드는 그대로 덱(초기값 설정)2. 카드를 덱의 왼쪽 또는 오른쪽에 추가: 2-1. c 2-2. c > queue[0]: 새 카드가 더 크면 덱의 오른쪽에 추가3. 덱을 문자열로 변환 후 출력 : ''.join(queue)를 사용해 문자열로 합치고 출력공부한 내용 - 덱으로 생각했던 이유 : 양쪽 끝에서 빠르게 원소를 추가import sysfrom collections import deque# 테스트 케이스 수를 입력받음T = int(sys.stdin.readline().strip())# 각 테스트 케이스에 대해 처리for i in range(T): # 카드의 개수를 ..
99클럽 코테 스터디 14일차 TIL - 그리디 (백준14916 - 거스름돈)
99클럽 코테 스터디 14일차 TIL - 그리디 (백준14916 - 거스름돈)
2024.11.10https://www.acmicpc.net/problem/14916오늘의 학습 키워드 : 그리디공부한 내용 import sysdef min_coins(n): # 5원짜리 동전의 최대 개수를 구합니다. count_5 = n // 5 while count_5 >= 0: # 5원짜리를 최대한 사용한 후 남은 금액을 2원짜리로 채울 수 있는지 확인 remaining = n - (count_5 * 5) if remaining % 2 == 0: count_2 = remaining // 2 return count_5 + count_2 count_5 -= 1 # 5원과 2원으로 정확히 맞출 수 ..
99클럽 코테 스터디 13일차 TIL - 그리디,이분탐색 (백준27961 - 고양이는 많을수록 좋다)
99클럽 코테 스터디 13일차 TIL - 그리디,이분탐색 (백준27961 - 고양이는 많을수록 좋다)
2024.11.09https://www.acmicpc.net/problem/27961오늘의 학습 키워드 : 그리디..? 이분탐색?공부한 내용 import sys# 최소 동작 수를 계산하는 함수 정의def min_actions(N): actions = 0 # 2의 actions 제곱이 N 이상이 될 때까지 actions 증가 while 2 ** actions import sys# 입력 값 N을 받음N = int(sys.stdin.readline().strip())# 이진 탐색 범위 설정# 2**10 ≈ 10**3 이므로 2**40 ≈ 10**12 정도로 충분히 큰 범위를 잡음start, end = 0, 40result = 0# 이진 탐색을 통해 2의 몇 제곱이 N 이상인지 찾기while start = N: ..
99클럽 코테 스터디 12일차 TIL - BFS (백준7569- 토마토)
99클럽 코테 스터디 12일차 TIL - BFS (백준7569- 토마토)
2024.11.08https://www.acmicpc.net/problem/7569오늘의 학습 키워드 : BFS1. BFS로 최소 일수 계산2. 초기 상태에서 익은 토마토를 큐에 넣기3. 6방향 탐색문제의 조건에 따라 위, 아래, 왼쪽, 오른쪽, 앞, 뒤의 6방향4. 최대 일수 갱신BFS를 진행하면서 days 변수를 매 단계 갱신하며, 모든 토마토가 익을 때까지 걸린 최대 일수를 기록 최종적으로 모든 토마토가 익었을 때 max_days가 최소 일수5. 최종 상태 체크(토마토가 모두 익지 않았는지 익었는지 체크 필요)- 만약 남아있다면, -1을 출력하고 종료하여 불가능한 경우를 처리- 반면 , 모든 토마토가 익었다면, max_days를 출력합니다.공부한 내용 import sysfrom collections import de..