본문 바로가기

python328

[백준 - SILVER 2] 1541. 잃어버린 괄호 - Python3 1541. 잃어버린 괄호 https://www.acmicpc.net/problem/1541 1541번: 잃어버린 괄호 첫째 줄에 식이 주어진다. 식은 ‘0’~‘9’, ‘+’, 그리고 ‘-’만으로 이루어져 있고, 가장 처음과 마지막 문자는 숫자이다. 그리고 연속해서 두 개 이상의 연산자가 나타나지 않고, 5자리보다 www.acmicpc.net 내 풀이 - 성공 inp = input().split("-") ans = 0 first = inp.pop(0).split("+") for n in first: ans += int(n) for i in inp: tmp = 0 nums = i.split("+") for n in nums: tmp += int(n) ans -= tmp print(ans) 최솟값이 되려면 음.. 2021. 10. 6.
[백준 - SILVER 4] 1920. 수 찾기 - Python3 1920. 수 찾기 https://www.acmicpc.net/problem/1920 1920번: 수 찾기 첫째 줄에 자연수 N(1 ≤ N ≤ 100,000)이 주어진다. 다음 줄에는 N개의 정수 A[1], A[2], …, A[N]이 주어진다. 다음 줄에는 M(1 ≤ M ≤ 100,000)이 주어진다. 다음 줄에는 M개의 수들이 주어지는데, 이 수들 www.acmicpc.net 내 풀이 - 성공 N = int(input()) A = list(map(int, input().split())) M = int(input()) B = list(map(int, input().split())) A.sort() for b in B: TF = 0 l = 0 r = N-1 while l 2021. 10. 6.
[백준 - SILVER 3] 1463. 1로 만들기 - Python3 1463. 1로 만들기 https://www.acmicpc.net/problem/1463 1463번: 1로 만들기 첫째 줄에 1보다 크거나 같고, 106보다 작거나 같은 정수 N이 주어진다. www.acmicpc.net 내 풀이 - 성공 N = int(input()) if N == 1: print(0) elif N == 2 or N == 3: print(1) else: dp = [0]*(N+1) dp[2], dp[3] = 1, 1 for n in range(4, N+1): tmp = n if n % 3 == 0: tmp = min(tmp, dp[n//3]+1) if n % 2 == 0: tmp = min(tmp, dp[n//2]+1) tmp = min(tmp, dp[n-1]+1) dp[n] = tmp p.. 2021. 10. 3.
[백준 - SILVER 3] 1874. 스택 수열 - Python3 1874. 스택 수열 https://www.acmicpc.net/problem/1874 1874번: 스택 수열 1부터 n까지에 수에 대해 차례로 [push, push, push, push, pop, pop, push, push, pop, push, push, pop, pop, pop, pop, pop] 연산을 수행하면 수열 [4, 3, 6, 8, 7, 5, 2, 1]을 얻을 수 있다. www.acmicpc.net 내 풀이 - 성공 n = int(input()) stack = [1] inp = [] out = [] result = ["+"] for _ in range(n): inp.append(int(input())) i = 2 while inp: if len(stack) == 0 or inp[0] > s.. 2021. 10. 3.
[백준 - SILVER 1] 1389. 케빈 베이컨의 6단계 법칙 - Python3 1389. 케빈 베이컨의 6단계 법칙 https://www.acmicpc.net/problem/1389 1389번: 케빈 베이컨의 6단계 법칙 첫째 줄에 유저의 수 N (2 ≤ N ≤ 100)과 친구 관계의 수 M (1 ≤ M ≤ 5,000)이 주어진다. 둘째 줄부터 M개의 줄에는 친구 관계가 주어진다. 친구 관계는 A와 B로 이루어져 있으며, A와 B가 친구라는 뜻 www.acmicpc.net 내 풀이 - 성공 N, M = map(int, input().split()) graph = {i:[] for i in range(1, N+1)} person = {i:[0]*(N+1) for i in range(1, N+1)} for _ in range(M): a, b = map(int, input().split.. 2021. 10. 2.
[백준 - SILVER 3] 1654. 랜선 자르기 - Python3 1654. 랜선 자르기 https://www.acmicpc.net/problem/1654 1654번: 랜선 자르기 첫째 줄에는 오영식이 이미 가지고 있는 랜선의 개수 K, 그리고 필요한 랜선의 개수 N이 입력된다. K는 1이상 10,000이하의 정수이고, N은 1이상 1,000,000이하의 정수이다. 그리고 항상 K ≦ N 이다. 그 www.acmicpc.net 내 풀이 - 시간 초과 K, N = map(int, input().split()) lines = [] ans = 0 for _ in range(K): lines.append(int(input())) for length in range(1, max(lines)): cnt = 0 for l in lines: cnt += l // length if c.. 2021. 10. 2.