[BOJ] 11724. 연결 요소의 개수 Python 풀이
·
Algorithm/BOJ
import sys from collections import deque n, m = map(int, sys.stdin.readline().split()) graph = [[] for _ in range(n + 1)] # 방문을 확인할 리스트 visited = [False for _ in range(n + 1)] # 연결 요소의 개수 count = 0 # 각 노드가 연결된 정보를 리스트로 표현 for _ in range(m): u, v = map(int, sys.stdin.readline().split()) graph[u].append(v) graph[v].append(u) def bfs(graph, start, visited): queue = deque([start]) # 현재 노드 방문 처리 visi..
[BOJ] 1012. 유기농 배추 Python 풀이
·
Algorithm/BOJ
import sys from collections import deque t = int(sys.stdin.readline()) for _ in range(t): m, n, k = map(int, sys.stdin.readline().split()) # 배추밭 0으로 초기화 field = [[0 for _ in range(m)] for _ in range(n)] # 필요한 배추흰지렁이 마리 수 초기화 worm = 0 # 배추밭에 배추 심기 for _ in range(k): x, y = map(int, sys.stdin.readline().split()) field[y][x] = 1 # 우, 좌, 상, 하 탐색 dx = [0, 0, -1, 1] dy = [1, -1, 0, 0] def bfs(field, a..
[BOJ] 2003. 수들의 합 2 Python 풀이
·
Algorithm/BOJ
import sys n, m = map(int, sys.stdin.readline().split()) numbers = list(map(int, sys.stdin.readline().split())) left = 0 right = 1 temp = 0 answer = 0 while left len(numbers): break temp = sum(numbers[left:right]) if temp m: left += 1 elif temp == m: answer += 1 left += 1 print(answer)
[BOJ] 1158. 요세푸스 문제 Python 풀이
·
Algorithm/BOJ
문제 출처 : https://www.acmicpc.net/problem/1158 1158번: 요세푸스 문제 첫째 줄에 N과 K가 빈 칸을 사이에 두고 순서대로 주어진다. (1 ≤ K ≤ N ≤ 5,000) www.acmicpc.net 더보기 문제 요세푸스 문제는 다음과 같다. 1번부터 N번까지 N명의 사람이 원을 이루면서 앉아있고, 양의 정수 K(≤ N)가 주어진다. 이제 순서대로 K번째 사람을 제거한다. 한 사람이 제거되면 남은 사람들로 이루어진 원을 따라 이 과정을 계속해 나간다. 이 과정은 N명의 사람이 모두 제거될 때까지 계속된다. 원에서 사람들이 제거되는 순서를 (N, K)-요세푸스 순열이라고 한다. 예를 들어 (7, 3)-요세푸스 순열은 이다. N과 K가 주어지면 (N, K)-요세푸스 순열을 ..
[BOJ] 9012. 괄호 Python 풀이
·
Algorithm/BOJ
문제 출처 : https://www.acmicpc.net/problem/9012 9012번: 괄호 괄호 문자열(Parenthesis String, PS)은 두 개의 괄호 기호인 ‘(’ 와 ‘)’ 만으로 구성되어 있는 문자열이다. 그 중에서 괄호의 모양이 바르게 구성된 문자열을 올바른 괄호 문자열(Valid PS, VPS)이라고 www.acmicpc.net 더보기 문제 괄호 문자열(Parenthesis String, PS)은 두 개의 괄호 기호인 ‘(’ 와 ‘)’ 만으로 구성되어 있는 문자열이다. 그 중에서 괄호의 모양이 바르게 구성된 문자열을 올바른 괄호 문자열(Valid PS, VPS)이라고 부른다. 한 쌍의 괄호 기호로 된 “( )” 문자열은 기본 VPS 이라고 부른다. 만일 x 가 VPS 라면 이것..
[BOJ] 10814. 나이순 정렬 Python 풀이
·
Algorithm/BOJ
문제 출처 : https://www.acmicpc.net/problem/10814 더보기 문제 온라인 저지에 가입한 사람들의 나이와 이름이 가입한 순서대로 주어진다. 이때, 회원들을 나이가 증가하는 순으로, 나이가 같으면 먼저 가입한 사람이 앞에 오는 순서로 정렬하는 프로그램을 작성하시오. 입력 첫째 줄에 온라인 저지 회원의 수 N이 주어진다. (1 ≤ N ≤ 100,000) 둘째 줄부터 N개의 줄에는 각 회원의 나이와 이름이 공백으로 구분되어 주어진다. 나이는 1보다 크거나 같으며, 200보다 작거나 같은 정수이고, 이름은 알파벳 대소문자로 이루어져 있고, 길이가 100보다 작거나 같은 문자열이다. 입력은 가입한 순서로 주어진다. 출력 첫째 줄부터 총 N개의 줄에 걸쳐 온라인 저지 회원을 나이 순, 나..