코딩 테스트/백준(50)
-
백준 알고리즘 2667. 단지번호붙히기
https://www.acmicpc.net/problem/2667 2667번: 단지번호붙이기 과 같이 정사각형 모양의 지도가 있다. 1은 집이 있는 곳을, 0은 집이 없는 곳을 나타낸다. 철수는 이 지도를 가지고 연결된 집의 모임인 단지를 정의하고, 단지에 번호를 붙이려 한다. 여 www.acmicpc.net 전체 코드 전희경님 코드 import sys from collections import deque n = int(sys.stdin.readline()) graph = list(list(map(int, sys.stdin.readline().strip())) for _ in range(n)) dx = [-1, 1, 0, 0] dy = [0, 0, -1, 1] blocks = [] def bfs(x, y..
2024.03.28 -
백준 알고리즘 16564. 히오스 프로그래머
https://www.acmicpc.net/problem/16564 16564번: 히오스 프로게이머 첫째 줄에는 캐릭터의 개수 N, 올릴 수 있는 레벨 총합 K가 주어진다. (1 ≤ N ≤1,000,000, 1 ≤ K ≤ 1,000,000,000) 다음 N개의 줄에는 현재 각 캐릭터의 레벨이 X1, X2, X3, ... , Xn 으로 주어진다. (1 ≤ Xi ≤ www.acmicpc.net 전체 코드 import sys n, k = map(int, input().split()) levels = [] for _ in range(n): levels.append(int(sys.stdin.readline().strip())) left, right = min(levels), min(levels) + k resul..
2024.03.28 -
백준 알고리즘 14501. 퇴사
https://www.acmicpc.net/problem/14501 14501번: 퇴사 첫째 줄에 백준이가 얻을 수 있는 최대 이익을 출력한다. www.acmicpc.net 전체 코드 전희경님 코드 import sys # sys.stdin = open("sample_input.txt", "r") # 상담이 가능한 기간 n (n+1일에 퇴사) n = int(sys.stdin.readline()) schedules = [[] for _ in range(n+1)] for i in range(1, n+1): schedules[i] = list(map(int, sys.stdin.readline().split())) # [[], [3, 10], [5, 20], [1, 10], [1, 20], [2, 15], [4,..
2024.03.27 -
백준 알고리즘 12865. 평범한 배낭
https://www.acmicpc.net/problem/12865 12865번: 평범한 배낭 첫 줄에 물품의 수 N(1 ≤ N ≤ 100)과 준서가 버틸 수 있는 무게 K(1 ≤ K ≤ 100,000)가 주어진다. 두 번째 줄부터 N개의 줄에 거쳐 각 물건의 무게 W(1 ≤ W ≤ 100,000)와 해당 물건의 가치 V(0 ≤ V ≤ 1,000) www.acmicpc.net 전체 코드 n, k = map(int, input().split()) cargo = [[0, 0]] dp = [[0] * (k + 1) for _ in range(n + 1)] for i in range(n): cargo.append(list(map(int, input().split()))) for i in range(1, n + ..
2024.03.27 -
백준 알고리즘 1753. 최단경로
https://www.acmicpc.net/problem/1753 1753번: 최단경로 첫째 줄에 정점의 개수 V와 간선의 개수 E가 주어진다. (1 ≤ V ≤ 20,000, 1 ≤ E ≤ 300,000) 모든 정점에는 1부터 V까지 번호가 매겨져 있다고 가정한다. 둘째 줄에는 시작 정점의 번호 K(1 ≤ K ≤ V)가 www.acmicpc.net import sys # sys.setrecursionlimit(10**7) import heapq sys.stdin = open("sample_input.txt", "r") # 정점의 개수 v, 간선의 개수 e v, e = map(int, sys.stdin.readline().split()) # 시작 정점 k k = int(sys.stdin.readline()..
2024.03.27 -
백준 알고리즘 9251. LCS
https://www.acmicpc.net/problem/9251 9251번: LCS LCS(Longest Common Subsequence, 최장 공통 부분 수열)문제는 두 수열이 주어졌을 때, 모두의 부분 수열이 되는 수열 중 가장 긴 것을 찾는 문제이다. 예를 들어, ACAYKP와 CAPCAK의 LCS는 ACAK가 된다. www.acmicpc.net 전체 코드 s_w = input() s_h = input() w = len(s_w) h = len(s_h) # (w+1) x (h+1) dp 테이블을 생성한다. dp = [[0] * (w + 1) for _ in range(h + 1)] for i in range(1, h + 1): for j in range(1, w + 1): # 문자열이 동일하면 좌..
2024.03.26