[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] 10814. 나이순 정렬 Python 풀이
·
Algorithm/BOJ
문제 출처 : https://www.acmicpc.net/problem/10814 더보기 문제 온라인 저지에 가입한 사람들의 나이와 이름이 가입한 순서대로 주어진다. 이때, 회원들을 나이가 증가하는 순으로, 나이가 같으면 먼저 가입한 사람이 앞에 오는 순서로 정렬하는 프로그램을 작성하시오. 입력 첫째 줄에 온라인 저지 회원의 수 N이 주어진다. (1 ≤ N ≤ 100,000) 둘째 줄부터 N개의 줄에는 각 회원의 나이와 이름이 공백으로 구분되어 주어진다. 나이는 1보다 크거나 같으며, 200보다 작거나 같은 정수이고, 이름은 알파벳 대소문자로 이루어져 있고, 길이가 100보다 작거나 같은 문자열이다. 입력은 가입한 순서로 주어진다. 출력 첫째 줄부터 총 N개의 줄에 걸쳐 온라인 저지 회원을 나이 순, 나..
Python으로 간편 웹서버 구축하기
·
개발이야기/Python
파이썬은 HTTP 서버를 구현하기 위한 기본 모듈을 제공하고 있습니다. Python 3을 기반으로 웹서버를 구축하는 명령어는 다음과 같습니다. cd /* 서버를 개설할 디렉토리 */ python -m http.server 9000 /* 설정할 포트번호 */ Python 2를 기반으로 구축하는 명령어는 다음과 같습니다. cd /* 서버를 개설할 디렉토리 */ python -m SimpleHTTPServer 9000 /* 설정할 포트번호 */ 저는 Python3을 쓰고 있기 때문에 첫번째 방법을 사용했습니다. 위처럼 입력을 마친 후, localhost:설정한 포트번호를 주소창에 입력하면 localhost 서버가 열린 것을 확인할 수 있습니다. 구조는 해당 디렉토리에 위치한 파일 및 폴더들과 동일한 것을 확인..