본문 바로가기

백준33

[백준 - SILVER 4] 2108. 통계학 - Python3 2108. 통계학 https://www.acmicpc.net/problem/2108 2108번: 통계학 첫째 줄에 수의 개수 N(1 ≤ N ≤ 500,000)이 주어진다. 단, N은 홀수이다. 그 다음 N개의 줄에는 정수들이 주어진다. 입력되는 정수의 절댓값은 4,000을 넘지 않는다. www.acmicpc.net 내 풀이 - 성공 from sys import stdin import collections import math N = int(stdin.readline()) nums = [0] * N for i in range(N): nums[i] = int(stdin.readline()) nums.sort() # 산술평균 print(round(sum(nums)/N)) # 중앙값 print(nums[N//2.. 2021. 10. 27.
[백준 - SILVER 4] 1676. 팩토리얼 0의 개수 - Python3 1676. 팩토리얼 0의 개수 https://www.acmicpc.net/problem/1676 1676번: 팩토리얼 0의 개수 N!에서 뒤에서부터 처음 0이 아닌 숫자가 나올 때까지 0의 개수를 구하는 프로그램을 작성하시오. www.acmicpc.net 내 풀이 - 성공 from sys import stdin N = int(stdin.readline()) ans = 0 five = 5 while five 2 는 5 보다 무조건 많은 개수를 가지니까 생각하지 않고 오직 5 의 개수만 세주기 이 때, 25, 50, 75, ... 와 같이 5 가 여러개 있는 숫자 처리 주의 => 25 = 5 * 5, 50 = 5 * 5 * 2, ... 따라서 5 의 제곱수들의 배수까지 모두 세줌 처음엔 5 부터 시작해서 5.. 2021. 10. 9.
[백준 - SILVER 3] 1966. 프린터 큐 - Python3 1966. 프린터 큐 https://www.acmicpc.net/problem/1966 1966번: 프린터 큐 여러분도 알다시피 여러분의 프린터 기기는 여러분이 인쇄하고자 하는 문서를 인쇄 명령을 받은 ‘순서대로’, 즉 먼저 요청된 것을 먼저 인쇄한다. 여러 개의 문서가 쌓인다면 Queue 자료구조에 www.acmicpc.net 내 풀이 - 성공 from sys import stdin T = int(stdin.readline()) for _ in range(T): N, M = map(int, stdin.readline().split()) q = list(map(int, stdin.readline().split())) nums = [i for i in range(N)] i = 0 while i < N: i.. 2021. 10. 9.
[백준 - SILVER 4] 1620. 나는야 포켓몬 마스터 이다솜 - Python3 1620. 나는야 포켓몬 마스터 이다솜 https://www.acmicpc.net/problem/1620 1620번: 나는야 포켓몬 마스터 이다솜 첫째 줄에는 도감에 수록되어 있는 포켓몬의 개수 N이랑 내가 맞춰야 하는 문제의 개수 M이 주어져. N과 M은 1보다 크거나 같고, 100,000보다 작거나 같은 자연수인데, 자연수가 뭔지는 알지? 모르면 www.acmicpc.net 내 풀이 - 성공 from sys import stdin N, M = map(int, stdin.readline().split()) ans = [0] * (M) nums = {} names = {} for i in range(N): inp = stdin.readline().strip() nums[i+1] = inp names[in.. 2021. 10. 7.
[백준 - SILVER 2] 1929. 소수 구하기 - Python3 1929. 소수 구하기 https://www.acmicpc.net/problem/1929 1929번: 소수 구하기 첫째 줄에 자연수 M과 N이 빈 칸을 사이에 두고 주어진다. (1 ≤ M ≤ N ≤ 1,000,000) M이상 N이하의 소수가 하나 이상 있는 입력만 주어진다. www.acmicpc.net 내 풀이 - 성공 M, N = map(int, input().split()) nums = [1]*(N+1) nums[0], nums[1] = 0, 0 r = int(N**0.5) for i in range(2, r+1): if nums[i]: for j in range(i+i, N+1, i): nums[j] = 0 for i in range(M, N+1): if nums[i]: print(i) 전에 봤던 .. 2021. 10. 7.
[백준 - 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.