반응형

백준 215

[파이썬, Python] 백준 1927: 최소 힙

문제 https://www.acmicpc.net/problem/1927 1927번: 최소 힙 첫째 줄에 연산의 개수 N(1 ≤ N ≤ 100,000)이 주어진다. 다음 N개의 줄에는 연산에 대한 정보를 나타내는 정수 x가 주어진다. 만약 x가 자연수라면 배열에 x라는 값을 넣는(추가하는) 연산이고, x가 0 www.acmicpc.net 코드 import sys import heapq input = sys.stdin.readline n = int(input()) heap = [] for i in range(n): a = int(input()) if a != 0: heapq.heappush(heap, a) else: if not heap: print("0") else: print(heapq.heappop(h..

[파이썬, Python] 백준 1026: 보물

문제 https://www.acmicpc.net/problem/1026 1026번: 보물 첫째 줄에 N이 주어진다. 둘째 줄에는 A에 있는 N개의 수가 순서대로 주어지고, 셋째 줄에는 B에 있는 수가 순서대로 주어진다. N은 50보다 작거나 같은 자연수이고, A와 B의 각 원소는 100보다 작거 www.acmicpc.net 코드 n = int(input()) a_list = sorted(list(map (int, input().split()))) b_list = sorted(list(map (int, input().split())), reverse = True) ans = 0 for i in range(n): ans += a_list[i] * b_list[i] print(ans) 설명 두 리스트의 수를 ..

[파이썬, Python] 백준 1010: 다리 놓기

문제 https://www.acmicpc.net/problem/1010 코드 import math t = int(input()) for i in range(t): r, n = map(int,input().split()) print(math.factorial(n) // (math.factorial(r) * math.factorial(n - r))) 설명 경우의 수를 구하는 문제이다. https://namu.wiki/w/%EA%B2%BD%EC%9A%B0%EC%9D%98%20%EC%88%98 경우의 수 - 나무위키 모든 팀이 2경기를 치른 이후 마지막 경기를 앞둔 시점의 대한민국의 16강에 진출할 수 있는 경우의 수이다. 경우의 수 중 볼드체 표시된 것은 실제 경기 결과이다. 2002년 - 조 1위 16강 진..

[파이썬, Python] 백준 25314: 코딩은 체육과목 입니다

문제 https://www.acmicpc.net/problem/25314 25314번: 코딩은 체육과목 입니다 오늘은 혜아의 면접 날이다. 면접 준비를 열심히 해서 앞선 질문들을 잘 대답한 혜아는 이제 마지막으로 칠판에 직접 코딩하는 문제를 받았다. 혜아가 받은 문제는 두 수를 더하는 문제였다. C++ www.acmicpc.net 코드 n = int(input()) for i in range(n//4): print("long", end=" ") print("int") 설명 입력받은 n을 4로 나눈 몫만큼 long을 출력하고 마지막에 int를 출력해 주면 되는 간단한 문제이다.

[파이썬, Python] 백준 11382: 꼬마 정민

문제 https://www.acmicpc.net/problem/11382 11382번: 꼬마 정민 첫 번째 줄에 A, B, C (1 ≤ A, B, C ≤ 1012)이 공백을 사이에 두고 주어진다. www.acmicpc.net 코드 a, b, c = map(int, input().split()) print(a+b+c) 설명 3가지의 수를 입력 받아서, 그 수를 더한 결과를 출력하는 문제이다. split() 함수를 통해서 공백을 기준으로 수를 입력받고, print()를 통해서 출력해주자

[파이썬, Python] 백준 14425: 문자열 집합

문제 https://www.acmicpc.net/problem/14425 14425번: 문자열 집합 첫째 줄에 문자열의 개수 N과 M (1 ≤ N ≤ 10,000, 1 ≤ M ≤ 10,000)이 주어진다. 다음 N개의 줄에는 집합 S에 포함되어 있는 문자열들이 주어진다. 다음 M개의 줄에는 검사해야 하는 문자열들이 주어 www.acmicpc.net 코드 import sys input = sys.stdin.readline n, m = map(int, input().split()) n_list = set() cnt = 0 for _ in range(n): n_list.add(input()) for _ in range(m): word = input() if word in n_list: cnt += 1 prin..

[파이썬, Python] 백준 11723: 집합

문제 https://www.acmicpc.net/problem/11723 11723번: 집합 첫째 줄에 수행해야 하는 연산의 수 M (1 ≤ M ≤ 3,000,000)이 주어진다. 둘째 줄부터 M개의 줄에 수행해야 하는 연산이 한 줄에 하나씩 주어진다. www.acmicpc.net 코드 import sys input = sys.stdin.readline m = int(input()) s = set() li = [i for i in range(1, 21)] for _ in range(m): p = input().split() if p[0] == 'add': s.add(int(p[1])) elif p[0] == 'remove': s.discard(int(p[1])) elif p[0] == 'check': i..

[파이썬, Python] 백준 2178: 미로 탐색

문제 https://www.acmicpc.net/problem/2178 2178번: 미로 탐색 첫째 줄에 두 정수 N, M(2 ≤ N, M ≤ 100)이 주어진다. 다음 N개의 줄에는 M개의 정수로 미로가 주어진다. 각각의 수들은 붙어서 입력으로 주어진다. www.acmicpc.net 코드 import sys input = sys.stdin.readline n, m = map(int, input().split()) s= [] que = [] dx = [1, -1, 0, 0] dy = [0, 0, -1, 1] for _ in range(n): s.append(list(input())) que = [[0, 0]] s[0][0] = 1 while que: a, b = que[0][0], que[0][1] de..

[파이썬, Python] 백준 1260: DFS와 BFS

문제 https://www.acmicpc.net/problem/1260 1260번: DFS와 BFS 첫째 줄에 정점의 개수 N(1 ≤ N ≤ 1,000), 간선의 개수 M(1 ≤ M ≤ 10,000), 탐색을 시작할 정점의 번호 V가 주어진다. 다음 M개의 줄에는 간선이 연결하는 두 정점의 번호가 주어진다. 어떤 두 정점 사 www.acmicpc.net 코드 from collections import deque import sys input = sys.stdin.readline n, m, v = map(int,input().split()) graph = [[]for _ in range(n + 1)] for _ in range(m): a, b = map(int, input().split()) graph[a..

[파이썬, Python] 백준 2606: 바이러스

문제 https://www.acmicpc.net/problem/2606 2606번: 바이러스 첫째 줄에는 컴퓨터의 수가 주어진다. 컴퓨터의 수는 100 이하이고 각 컴퓨터에는 1번 부터 차례대로 번호가 매겨진다. 둘째 줄에는 네트워크 상에서 직접 연결되어 있는 컴퓨터 쌍의 수가 주어 www.acmicpc.net 코드 import sys input = sys.stdin.readline c = int(input()) n = int(input()) visited = [False for _ in range(c + 1)] graph = [[]for _ in range(c + 1)] for _ in range(n): a, b = map(int, input().split()) graph[a].append(b) gra..

반응형