백준(Python) 풀이 477

백준(Python) 1932번 정수 삼각형 풀이

Python으로 구현한 1932번 정수 삼각형 문제 풀이입니다. https://www.acmicpc.net/problem/1932 1932번: 정수 삼각형 첫째 줄에 삼각형의 크기 n(1 ≤ n ≤ 500)이 주어지고, 둘째 줄부터 n+1번째 줄까지 정수 삼각형이 주어진다. www.acmicpc.net n = int(input()) dp = [] # 다이나믹 프로그래밍을 위한 DP 테이블 초기화 for _ in range(n) : dp.append(list(map(int, input().split()))) # 다이나믹 프로그래밍으로 두 번째 줄부터 내려가면서 확인 for i in range(1, n) : for j in range(i + 1) : # 왼쪽 위에서 내려오는 경우 if j == 0 : up_..

백준(Python) 2110번 공유기 설치 풀이

Python으로 구현한 2110번 공유기 설치 문제 풀이입니다. https://www.acmicpc.net/problem/2110 2110번: 공유기 설치 첫째 줄에 집의 개수 N (2 ≤ N ≤ 200,000)과 공유기의 개수 C (2 ≤ C ≤ N)이 하나 이상의 빈 칸을 사이에 두고 주어진다. 둘째 줄부터 N개의 줄에는 집의 좌표를 나타내는 xi (0 ≤ xi ≤ 1,000,000,000)가 www.acmicpc.net # 집의 개수(N)과 공유기의 개수(C)를 입력받기 n, c = list(map(int, input().split())) # 전체 집의 좌표 정보를 입력받기 array = [] for _ in range(n) : array.append(int(input())) array.sort()..

백준(Python) 22193번 Multiply 풀이

Python으로 구현한 22193번 Multiply 문제 풀이입니다. https://www.acmicpc.net/problem/22193 22193번: Multiply Write a program that computes a product of two non-negative integers A and B. The integers are represented in decimal notation and have N and M digits, respectively. www.acmicpc.net n, m = map(int, input().split()) a = int(input()) b = int(input()) print(a * b) 1. 입력받은 두 수(a, b)의 곱을 구하여 출력한다.

백준(Python) 18428번 감시 피하기 풀이

Python으로 구현한 18428번 감시 피하기 문제 풀이입니다. https://www.acmicpc.net/problem/18428 18428번: 감시 피하기 NxN 크기의 복도가 있다. 복도는 1x1 크기의 칸으로 나누어지며, 특정한 위치에는 선생님, 학생, 혹은 장애물이 위치할 수 있다. 현재 몇 명의 학생들은 수업시간에 몰래 복도로 빠져나왔는데, 복 www.acmicpc.net from itertools import combinations n = int(input()) # 복도의 크기 board = [] # 복도 정보(N x N) teachers = [] # 모든 선생님 위치 정보 spaces = [] # 모든 빈 공간 위치 정보 for i in range(n) : board.append(list..

백준(Python) 14888번 연산자 끼워넣기 풀이

Python으로 구현한 14888번 연산자 끼워넣기 문제 풀이입니다. https://www.acmicpc.net/problem/14888 14888번: 연산자 끼워넣기 첫째 줄에 수의 개수 N(2 ≤ N ≤ 11)가 주어진다. 둘째 줄에는 A1, A2, ..., AN이 주어진다. (1 ≤ Ai ≤ 100) 셋째 줄에는 합이 N-1인 4개의 정수가 주어지는데, 차례대로 덧셈(+)의 개수, 뺄셈(-)의 개수, www.acmicpc.net n = int(input()) # 연산을 수행하고자 하는 두 리스트 data = list(map(int, input().split())) # 더하기, 빼기, 곱하기, 나누기 연산자 개수 add, sub, mul, div = map(int, input().split()) # ..

백준(Python) 6749번 Next in line 풀이

Python으로 구현한 6749번 수강변경 문제 풀이입니다. https://www.acmicpc.net/problem/6749 6749번: Next in line You know a family with three children. Their ages form an arithmetic sequence: the difference in ages between the middle child and youngest child is the same as the difference in ages between the oldest child and the middle child. For example, their ages c www.acmicpc.net y = int(input()) m = int(input()) ..

백준(Python) 12927번 배수 스위치 풀이

Python으로 구현한 12927번 배수 스위치 문제 풀이입니다. https://www.acmicpc.net/problem/12927 12927번: 배수 스위치 첫째 줄에 전구의 상태가 1번 전구부터 차례대로 주어진다. Y는 전구가 켜 있는 경우, N은 전구가 꺼져있는 경우이다. 전구의 개수는 1보다 크거나 같고 1,000보다 작거나 같은 자연수이다. www.acmicpc.net n = list(input()) n.insert(0, 'N') result = 0 for i in range(1, len(n)) : if n[i] == 'Y' : for j in range(i, len(n), i) : if n[j] == 'Y' : n[j] = 'N' else : n[j] = 'Y' result += 1 prin..

백준(Python) 3135번 라디오 풀이

Python으로 구현한 3135번 라디오 문제 풀이입니다. https://www.acmicpc.net/problem/3135 3135번: 라디오 첫 줄엔 정수 A와 B가 주어진다 (1 ≤ A, B < 1000, A ≠ B). 다음 줄엔 정수 N이 주어진다 (1 ≤ N ≤ 5). 다음 N개의 줄엔 미리 지정되어 있는 주파수가 주어진다 (주파수는 1000 보다 작다). www.acmicpc.net a, b = map(int, input().split()) n = int(input()) data = [] for _ in range(n) : data.append(int(input())) target = 1e9 for i in data : if abs(i - b) < abs(target - b) : target ..

백준(Python) 20044번 Project Teams 풀이

Python으로 구현한 20044번 Project Teams 문제 풀이입니다. https://www.acmicpc.net/problem/20044 20044번: Project Teams 입력은 표준입력을 사용한다. 입력의 첫 번째 행에는 팀 수를 나타내는 양의 정수 n(1 ≤ n ≤ 5,000)이 주어진다. 그 다음 행에 학생 si 의 코딩 역량 w(si)를 나타내는 2n개의 양의 정수가 공백으로 www.acmicpc.net n = int(input()) data = list(map(int, input().split())) data.sort() left = 0 right = len(data) - 1 min_value = 1e9 while left < right : temp = data[left] + da..

백준(Python) 11508번 2+1 세일 풀이

Python으로 구현한 11508번 2+1 세일 문제 풀이입니다. https://www.acmicpc.net/problem/11508 11508번: 2+1 세일 KSG 편의점에서는 과일우유, 드링킹요구르트 등의 유제품을 '2+1 세일'하는 행사를 하고 있습니다. KSG 편의점에서 유제품 3개를 한 번에 산다면 그중에서 가장 싼 것은 무료로 지불하고 나머지 두 www.acmicpc.net n = int(input()) data = [] for _ in range(n) : data.append(int(input())) data.sort(reverse=True) result = 0 count = 1 for i in data : if count % 3 != 0 : result += i count += 1 els..