본문 바로가기

Algorithm475

[파이썬] 백준 14890 : 경사로 (골드3) [파이썬] 백준 14890 : 경사로 (골드3) 14890번: 경사로 첫째 줄에 N (2 ≤ N ≤ 100)과 L (1 ≤ L ≤ N)이 주어진다. 둘째 줄부터 N개의 줄에 지도가 주어진다. 각 칸의 높이는 10보다 작거나 같은 자연수이다. www.acmicpc.net 문제 풀이 0. 방향성 생각 1. 경사2 -> 불가능 2. 범위 바깥 -> 불가능 3. 경사로 이미 설치 -> 불가능 4. 경사로 아래 평지 아님 -> 불가능 4개 다 아니면 count 1. 입력 import sys input = lambda : sys.stdin.readline().rstrip() n,l = map(int,input().split()) arr = [list(map(int,input().split())) for _ in r.. 2023. 8. 16.
[파이썬] 백준 1949 : 우수마을 (골드2) [파이썬] 백준 1949 : 우수마을 (골드2) 1949번: 우수 마을 첫째 줄에 정수 N이 주어진다. (1 ≤ N ≤ 10,000) 둘째 줄에는 마을 주민 수를 나타내는 N개의 자연수가 빈칸을 사이에 두고 주어진다. 1번 마을부터 N번 마을까지 순서대로 주어지며, 주민 수는 10,00 www.acmicpc.net 문제 풀이 0. 방향성 생각 DFS를 사용해서 루트노드에서 시작해서 리프노드부터 DP 시작을 해준다. DFS를 마치고 나면 DP 루트노드를 확인하면 가중치 합이 저장되게 작성한다. 상태는 두 가지 상태가 존재한다. dp[state][노드수]로 dp 테이블 작성하기 1. 입력 import sys sys.setrecursionlimit(10**6) input = lambda : sys.stdin... 2023. 8. 14.
[파이썬] 백준 23295 : 스터디 시간 정하기1 (골드3) [파이썬] 백준 23295 : 스터디 시간 정하기1 (골드3) 23295번: 스터디 시간 정하기 1 첫째 줄에는 스터디에 참가하고자하는 참가자 수 N과 스터디 시간 T가 주어진다. (1 ≤ N ≤ 100,000, 1 ≤ T ≤ 100,000) 다음 줄부터 참가하고자 하는 참가자들의 시간 정보가 N개 주어진다. 각 정보의 www.acmicpc.net 문제 풀이 0. 방향성 생각 시간 초과나서 태그보니까 스위핑이 있길래 찾아봤다. 중요한 점은 시간 입력에서 변화량이 있는 부분만 체크하기. 즉, 시작과 끝 부분만 체크하면 된다. 또 window를 사용하면 자연스럽게 부분합을 사용한다는 점만 인지하면 된다. 이 문제에서는 둘 다 써야함. 1. 입력 import sys input = lambda : sys.std.. 2023. 8. 14.
[파이썬] 백준 2002 : 추월 (실버1) [파이썬] 백준 2002 : 추월 (실버1) 2002번: 추월 입력은 총 2N+1개의 줄로 이루어져 있다. 첫 줄에는 차의 대수 N(1 ≤ N ≤ 1,000)이 주어진다. 둘째 줄부터 N개의 줄에는 대근이가 적은 차량 번호 목록이 주어지고, N+2째 줄부터 N개의 줄에는 영식이 www.acmicpc.net 문제 풀이 0. 방향성 생각 터널 통과 전 후에 앞에 무슨차가 있는지 확인한다. 1. 입력 import sys input = lambda : sys.stdin.readline().rstrip() n = int(input()) before = [input() for _ in range(n)] after = [input() for _ in range(n)] 2. 앞 차 기록 before_front = {b.. 2023. 8. 13.