반응형

DP 2

[백준 11054번][Python] - 가장 긴 바이토닉 부분 수열

https://www.acmicpc.net/problem/11054 # 풀이과정DP로 각 지점에서의 증가길이를 찾는다DP로 각 지점에서의 감소길이를 찾는다. (수열의 뒤에서부터 거꾸로 증가하는 것으로 찾으면 쉬움)두 값의 합이 가장 큰 지점이 중앙임그 값에서 1을 빼서 출력하면 그것이 최장 바이토닉수열 길이임 [DP를 이용한 코드 - 성공]# ex_11054import sysn = int(sys.stdin.readline()) # 길이nums = list(map(int,sys.stdin.readline().split())) # 수열increase = [1 for _ in range(n)]decrease = [1 for _ in range(n)]for i in range(n): for j in ..

백준 2024.10.30

[백준 17070번] - 파이프 옮기기 1 (Python)

https://www.acmicpc.net/problem/17070         # BFS풀이과정1. 제한시간은 1초, bfs를 이용하여도 N의 크기가 그렇게 크지 않기에 BFS를 이용2-1. 파이프는 가로상태에서 가로, 대각선방향으로 밀 수 있음2-2. 세로상태에서는 세로, 대각선으로 밀 수 있음2-3. 대각선 상태에서는 모든 방향으로 밀 수 있음3. 각각의 방식대로 밀고 나서의 파이프의 상태, 행, 열을 튜플로 묶어서 큐에 저장4. 만약 행,열이 모두 N이 된다면 카운트를 1증가시킴5. 최종 카운트를 출력 ***주의점***대각선으로 밀 때는 오른쪽, 대각선아래, 아래, 총 3개의 칸에 전부 벽이 없어야함  위와 같은 생각으로 BFS를 이용하여 코드를 짰다.  [BFS를 이용한 코드 - 시간초과]# ..

백준 2024.09.09
반응형