목록baekjoon (solved.ac) (50)
Hikenny25
https://www.acmicpc.net/problem/11403 11403번: 경로 찾기 가중치 없는 방향 그래프 G가 주어졌을 때, 모든 정점 (i, j)에 대해서, i에서 j로 가는 경로가 있는지 없는지 구하는 프로그램을 작성하시오. www.acmicpc.net - 그래프 탐색 import sys input = sys.stdin.readline def search(x): if path_v: visited[x] = True path_v.append(x) for i in range(n): if visited[i] == False and matrix[x][i] == 1: search(i) n = int(input()) matrix = list() for _ in range(n): matrix.appen..
https://www.acmicpc.net/problem/11286 11286번: 절댓값 힙 첫째 줄에 연산의 개수 N(1≤N≤100,000)이 주어진다. 다음 N개의 줄에는 연산에 대한 정보를 나타내는 정수 x가 주어진다. 만약 x가 0이 아니라면 배열에 x라는 값을 넣는(추가하는) 연산이고, x가 0 www.acmicpc.net - 힙 import sys input = sys.stdin.readline from heapq import heappush, heappop heap = [] for _ in range(int(input())): cmd = int(input()) if cmd: heappush(heap, (abs(cmd),cmd)) else: if heap: print(heappop(heap)[..
https://www.acmicpc.net/problem/11279 11279번: 최대 힙 첫째 줄에 연산의 개수 N(1 ≤ N ≤ 100,000)이 주어진다. 다음 N개의 줄에는 연산에 대한 정보를 나타내는 정수 x가 주어진다. 만약 x가 자연수라면 배열에 x라는 값을 넣는(추가하는) 연산이고, x가 www.acmicpc.net - 최대 힙 import sys input = sys.stdin.readline from heapq import heappop, heappush heap = [] n = int(input()) for _ in range(n): cmd = -(int(input())) if cmd: heappush(heap, cmd) else: if heap: print(-heappop(heap)..
https://www.acmicpc.net/problem/1927 1927번: 최소 힙 첫째 줄에 연산의 개수 N(1 ≤ N ≤ 100,000)이 주어진다. 다음 N개의 줄에는 연산에 대한 정보를 나타내는 정수 x가 주어진다. 만약 x가 자연수라면 배열에 x라는 값을 넣는(추가하는) 연산이고, x가 0 www.acmicpc.net - 최소 힙 import sys input = sys.stdin.readline class minHeap: def __init__(self): self.heap = [] def insert(self, n): self.heap.append(n) index = len(self.heap)-1 while index>0: p_index = (index - 1) // 2 if self.h..
https://www.acmicpc.net/problem/1012 1012번: 유기농 배추 차세대 영농인 한나는 강원도 고랭지에서 유기농 배추를 재배하기로 하였다. 농약을 쓰지 않고 배추를 재배하려면 배추를 해충으로부터 보호하는 것이 중요하기 때문에, 한나는 해충 방지에 www.acmicpc.net - DFS import sys sys.setrecursionlimit(int(1e9)) input = sys.stdin.readline def dfs(dy, dx): if dy = m: return if matrix[dy][dx]: matrix[dy][dx] = 0 dfs(dy+1,dx) dfs(dy-1,dx) dfs(dy,dx+1) dfs(dy,dx-1) else: return t = int(input())..
https://www.acmicpc.net/problem/1931 1931번: 회의실 배정 (1,4), (5,7), (8,11), (12,14) 를 이용할 수 있다. www.acmicpc.net - Greedy import sys input = sys.stdin.readline n = int(input()) meetTime = list() for _ in range(n): meetTime.append(list(map(int, input().split()))) meetTime.sort(key=lambda x:(x[1],x[0])) lastTime, cnt = meetTime[0][1], 1 for i in range(1, n): if lastTime
https://www.acmicpc.net/problem/18111 18111번: 마인크래프트 팀 레드시프트는 대회 준비를 하다가 지루해져서 샌드박스 게임인 ‘마인크래프트’를 켰다. 마인크래프트는 1 × 1 × 1(세로, 가로, 높이) 크기의 블록들로 이루어진 3차원 세계에서 자유롭게 www.acmicpc.net - Brute force import sys input = sys.stdin.readline n, m, b = map(int, input().split()) a = list() minh, maxh = 256, 0 for _ in range(n): x = list(map(int, input().split())) a.append(x) if max(x) > maxh: maxh = max(x) if m..
https://www.acmicpc.net/problem/1541 1541번: 잃어버린 괄호 첫째 줄에 식이 주어진다. 식은 ‘0’~‘9’, ‘+’, 그리고 ‘-’만으로 이루어져 있고, 가장 처음과 마지막 문자는 숫자이다. 그리고 연속해서 두 개 이상의 연산자가 나타나지 않고, 5자리보다 www.acmicpc.net - 수학 - 구현 import sys input = sys.stdin.readline m = input()[:-1] n = '' a = '' flag = 1 for i in m: if i == '-' or i == '+': n += str(int(a)) a = '' if i == '-': flag = -1 if flag == 1: n += '+' else: n += '-' else: a +=..
https://www.acmicpc.net/problem/9375 9375번: 패션왕 신해빈 첫 번째 테스트 케이스는 headgear에 해당하는 의상이 hat, turban이며 eyewear에 해당하는 의상이 sunglasses이므로 (hat), (turban), (sunglasses), (hat,sunglasses), (turban,sunglasses)로 총 5가지 이다. www.acmicpc.net - 구현 (조합론) import sys input = sys.stdin.readline t = int(input()) for _ in range(t): n = int(input()) d = dict() for _ in range(n): k = input().split() try: d[k[1]] += 1 e..
https://www.acmicpc.net/problem/9461 9461번: 파도반 수열 오른쪽 그림과 같이 삼각형이 나선 모양으로 놓여져 있다. 첫 삼각형은 정삼각형으로 변의 길이는 1이다. 그 다음에는 다음과 같은 과정으로 정삼각형을 계속 추가한다. 나선에서 가장 긴 변의 www.acmicpc.net - Dynamic Programming import sys input = sys.stdin.readline t = int(input()) a = list() for _ in range(t): a.append(int(input())) n = max(a) dp = [1] * (n+3) for i in range(4, n+1): dp[i] = dp[i-2] + dp[i-3] for i in a: print(..