[Coding Test]/[백준]
[백준] 18353 파이썬(python) : 병사 배치하기
https://www.acmicpc.net/problem/18353 18353번: 병사 배치하기 첫째 줄에 N이 주어진다. (1 ≤ N ≤ 2,000) 둘째 줄에 각 병사의 전투력이 공백을 기준으로 구분되어 차례대로 주어진다. 각 병사의 전투력은 10,000,000보다 작거나 같은 자연수이다. www.acmicpc.net import sys n = int(sys.stdin.readline()) arr = list(map(int, sys.stdin.readline().split())) dp = [1]*2001 #1 for i in range(1, n): #2 for j in range(0, i): #3 if arr[j] > arr[i]: #4 dp[i] = max(dp[i], dp[j]+1) #5 prin..
[백준] 1789 파이썬(python) : 수들의 합 - (★)
https://www.acmicpc.net/problem/1789 1789번: 수들의 합 첫째 줄에 자연수 S(1 ≤ S ≤ 4,294,967,295)가 주어진다. www.acmicpc.net import sys s = int(sys.stdin.readline()) n = 1 #1 while n*(n+1) / 2
[백준] 16234 파이썬(python) : 인구 이동
https://www.acmicpc.net/problem/16234 16234번: 인구 이동 N×N크기의 땅이 있고, 땅은 1×1개의 칸으로 나누어져 있다. 각각의 땅에는 나라가 하나씩 존재하며, r행 c열에 있는 나라에는 A[r][c]명이 살고 있다. 인접한 나라 사이에는 국경선이 존재한다. 모 www.acmicpc.net import sys from collections import deque n, l, r = map(int, sys.stdin.readline().split()) graph = [ list(map(int, sys.stdin.readline().split())) for _ in range(n) ] dx = [ 0, 0, -1, 1 ] dy = [ -1, 1, 0, 0 ] def bfs(..
[백준] 10162 파이썬(python) : 전자레인지
https://www.acmicpc.net/problem/10162 10162번: 전자레인지 3개의 시간조절용 버튼 A B C가 달린 전자레인지가 있다. 각 버튼마다 일정한 시간이 지정되어 있어 해당 버튼을 한번 누를 때마다 그 시간이 동작시간에 더해진다. 버튼 A, B, C에 지정된 시간은 www.acmicpc.net import sys t = int(sys.stdin.readline()) time = [ 300, 60, 10 ] #1 res = [] for i in time: res.append(t//i) #2 t %= i #3 if not t == 0: #4 print(-1) else: print(*res) #1 : 전자레인지가 입력받을 수 있는 3가지 종류의 시간 입력받는 시간 t가 단위를 초로 ..
[백준] 18428 파이썬(python) : 감시 피하기 - (★)
18428번 : 감시 피하기 import sys n = int(sys.stdin.readline()) graph = [ list(sys.stdin.readline().rstrip().split()) for _ in range(n) ] #1 teacher = 0 #2 for i in range(n): teacher += graph[i].count('T') #3 dx = [ 0, 0, -1, 1 ] dy = [ -1, 1, 0, 0 ] def view(x, y): #4 for i in range(4): nx = x + dx[i] ny = y + dy[i] while 0
[백준] 18405 파이썬(python) : 경쟁적 전염 - (★)
18405번: 경쟁적 전염 import sysfrom collections import dequen, k = map(int, sys.stdin.readline().split())graph = [ list(map(int, sys.stdin.readline().split())) for _ in range(n) ] #1data = []s, end_x, end_y = map(int, sys.stdin.readline().split()) #2dx = [ 0, 0, -1, 1 ]dy = [ -1, 1, 0, 0 ]for i in range(n): for j in range(n): if graph[i][j] != 0: #3 data.append((graph[i][j], i, j..