본문 바로가기
728x90

Study/Coding Test49

[백준] 1463 - 1로 만들기 Python https://www.acmicpc.net/problem/1463 1463번: 1로 만들기 첫째 줄에 1보다 크거나 같고, 106보다 작거나 같은 정수 N이 주어진다. www.acmicpc.net import sys input = sys.stdin.readline N = int(input()) dp = [0] * (N + 1) for i in range(2, N + 1): if i == 2 or i == 3: dp[i] = 1 dp[i] = dp[i - 1] + 1 if i % 3 == 0: dp[i] = min(dp[i // 3] + 1, dp[i]) if i % 2 == 0: dp[i] = min(dp[i // 2] + 1, dp[i]) print(dp[-1]) 2023. 6. 2.
[백준] 17070 - 파이프 옮기기1 Python https://www.acmicpc.net/problem/17070 17070번: 파이프 옮기기 1 유현이가 새 집으로 이사했다. 새 집의 크기는 N×N의 격자판으로 나타낼 수 있고, 1×1크기의 정사각형 칸으로 나누어져 있다. 각각의 칸은 (r, c)로 나타낼 수 있다. 여기서 r은 행의 번호, c는 열의 www.acmicpc.net # 가로 파이프 > 가로, 대각선 # 세로 파이프 > 세로, 대각선 # 대각선 파이프 > 대각선, 가로, 세로 # board : 3차원 짐 그래프 # 아이디어: # (1) 첫 번째 행에는 항상 가로 파이프만 올 수 있따. # (2) 1열에는 파이프의 끝이 올 수 없다. (항상 시작 파이프가 가로이기 때문) # (3) 가로 파이프 : 왼쪽 칸의 가로 파이프 개수 + 왼쪽 칸.. 2023. 5. 23.
[백준] 10815 - 숫자 카드 Python https://www.acmicpc.net/problem/10815 10815번: 숫자 카드 첫째 줄에 상근이가 가지고 있는 숫자 카드의 개수 N(1 ≤ N ≤ 500,000)이 주어진다. 둘째 줄에는 숫자 카드에 적혀있는 정수가 주어진다. 숫자 카드에 적혀있는 수는 -10,000,000보다 크거나 같고, 10, www.acmicpc.net import sys input = sys.stdin.readline def binary_search(i): start = 0 end = N - 1 while start 2023. 5. 23.
[백준] 2839 - 설탕 배달 Python https://www.acmicpc.net/problem/9655 9655번: 돌 게임 상근이가 게임을 이기면 SK를, 창영이가 게임을 이기면 CY을 출력한다. www.acmicpc.net import sys input = sys.stdin.readline N = int(input()) dp = [0] * 1001 dp[1] = dp[3] = "SK" dp[2] = "CY" # 1:상근 2:창영 3:상근 4:창영 5:상근 6:창영 for i in range(4, 1001): if dp[i - 1] == "SK": dp[i] = "CY" else: dp[i] = "SK" print(dp[N]) 2023. 5. 23.
[백준] 2839 - 설탕 배달 Python https://www.acmicpc.net/group/practice/view/17857/2 로그인 www.acmicpc.net import sys input = sys.stdin.readline N = int(input()) dp = [5001] * (N + 5) dp[3] = dp[5] = 1 for i in range(6, N + 1): dp[i] = min(dp[i - 3], dp[i - 5]) + 1 if dp[N] >= 5001: print("-1") else: print(dp[N]) 2023. 5. 22.
[백준] 11000 - 강의실 배정 Python https://www.acmicpc.net/problem/11000 11000번: 강의실 배정 첫 번째 줄에 N이 주어진다. (1 ≤ N ≤ 200,000) 이후 N개의 줄에 Si, Ti가 주어진다. (0 ≤ Si < Ti ≤ 109) www.acmicpc.net import heapq import sys input = sys.stdin.readline N = int(input()) course = list() answer = 1 for i in range(N): S, T = map(int, input().split()) course.append((S, T)) course.sort() classroom = list() heapq.heappush(classroom, course[0][1]) for i in.. 2023. 5. 22.
728x90