백준
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..
백준 4485(녹색 옷 입은 애가 젤다지?) - 다익스트라알고리즘, 힙구조, 최단거리- python
백준 4485(녹색 옷 입은 애가 젤다지?) - 다익스트라알고리즘, 힙구조, 최단거리- python
2024.11.04https://www.acmicpc.net/problem/4485예제 풀이일단 첨에는 DFS로 이용해서 풀었지만 아니나 다를까,, 바로 시간초과..⭐️그래서 생각한건 다익스트라 알고리즘으로 최단 경로 알고리즘이었다..예제 하나를 이용해서 다익스트라 알고리즘을 풀이하면 다음 사진과 같다고 생각하면 이해하기 쉽다. 만약 다익스트라 알고리즘이 먼가,, 이것부터라면 밑에 링크로 들어가는것을 추천한다 (나름 이코테 책보면서 정리해둔 다익스트라알고리즘이다. ) [이코테] CHAPTER 09 최단 경로 알고리즘 - 다익스트라 최단 경로 알고리즘최단 경로 알고리즘(Shortest Path) : 가장 짧은 경로를 찾는 알고리즘 1) 최단 경로 문제- 지점( 노드 ), 지점 간 연결된 도로( 간선 ) - 한 지점에서 다른..
99클럽 코테 스터디 8일차 TIL - DFS&BFS (백준2644- 촌수계산)
99클럽 코테 스터디 8일차 TIL - DFS&BFS (백준2644- 촌수계산)
2024.11.04https://www.acmicpc.net/problem/2644오늘의 학습 키워드 : DFS & BFS공부한 내용 예제1예제2DFS로 푼 경우import sys# 입력 처리n = int(sys.stdin.readline().strip()) # 총 사람의 수a, b = map(int, sys.stdin.readline().strip().split()) # 촌수를 계산할 두 사람m = int(sys.stdin.readline().strip()) # 관계의 수graph = [[] for _ in range(n + 1)] # 각 사람의 관계를 나타내는 인접 리스트# 관계 정보 입력for i in range(m): x, y = map(int, sys.stdin.readline().strip().sp..
99클럽 코테 스터디 7일차 TIL - (프로그래머스 - 모음사전)
99클럽 코테 스터디 7일차 TIL - (프로그래머스 - 모음사전)
2024.11.03프로그래머스SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr오늘의 학습 키워드 : 브루트 포스이론,,?공부한 내용 def solution(word): # 사전 순서대로의 모음 리스트 vowels = ['A', 'E', 'I', 'O', 'U'] # 각 자리에서 한 글자가 바뀔 때 뒤에 따라붙는 가능한 단어의 수 (가중치) # 첫 번째 자리의 가중치는 5^4 + 5^3 + 5^2 + 5^1 + 5^0 = 781 # 두 번째 자리의 가중치는 5^3 + 5^2 + 5^1 + 5^0 = 156 # 세 번째 자리의 가중치는 5^2 + 5^1 + 5^0 = 31 # 네 번째 자리의 ..
99클럽 코테 스터디 6일차 TIL - BFS (백준 2458번 - 키 순서)
99클럽 코테 스터디 6일차 TIL - BFS (백준 2458번 - 키 순서)
2024.11.03https://www.acmicpc.net/problem/2458오늘의 학습 키워드 : 플로이드 워셜, BFS공부한 내용 -> 그림은 코드 설명import sysfrom collections import deque # BFS 구현을 위한 deque 사용# 학생 수 N과 비교 횟수 M을 입력 받음N, M = map(int, sys.stdin.readline().strip().split())# 각 학생에 대한 인접 리스트 생성graph = [[] for _ in range(N + 1)] # 자신보다 큰 학생들을 저장하는 그래프reverse_graph = [[] for _ in range(N + 1)] # 자신보다 작은 학생들을 저장하는 그래프# 키 비교 관계 입력for i in range(M): ..