[백준][Python] 2845번 파티가 끝나고 난 뒤 - 코팩
·
백준/그리디
https://www.acmicpc.net/problem/2845 2845번: 파티가 끝나고 난 뒤 파티가 끝나고 나면, 사람들은 누가 파티에 왔는지와 얼마나 많은 사람들이 왔는지를 궁금해한다. 보통 파티는 매우 크게 열리기 때문에, 정확하게 몇 명이 참가했는지 알 수가 없다. 지난주 토 www.acmicpc.net 풀이 # 2845번 파티가 끝나고 난 뒤 i, j = map(int, input().split()) total_num = i * j li = list(map(int, input().split())) for k in li: print(k - total_num, end=" ") 출력결과
[백준] 15904번 UCPC는 무엇의 약자일까? - 파이썬
·
백준/그리디
https://www.acmicpc.net/problem/15904 15904번: UCPC는 무엇의 약자일까? 첫 번째 줄에 알파벳 대소문자, 공백으로 구성된 문자열이 주어진다. 문자열의 길이는 최대 1,000자이다. 문자열의 맨 앞과 맨 끝에 공백이 있는 경우는 없고, 공백이 연속해서 2번 이상 주어지는 www.acmicpc.net 풀이 # check는 UCPC로 축약 할 수 있는 문자열인지를 정하는 불린 변수이다. for i in "UCPC": if i in word: word = word[word.index(i)+1:] else: check = False break UCPC가 주어진 문자열에 속해 있는지와 "축약" 했을 경우 UCPC가 순서대로 나오는지가 중요하다. UCPC의 각 문자를 순서대로 i..
[백준] 15552번 빠른 A+B - 파이썬
·
백준/그리디
https://www.acmicpc.net/problem/15552 15552번: 빠른 A+B 첫 줄에 테스트케이스의 개수 T가 주어진다. T는 최대 1,000,000이다. 다음 T줄에는 각각 두 정수 A와 B가 주어진다. A와 B는 1 이상, 1,000 이하이다. www.acmicpc.net 풀이 문제에 나와있듯이 파이썬은 입력을 빨리 받아서 시간소모를 줄여주는 sys.stdin.realine이 있다. 파이썬 문제에서 많은 입력이 주어지면 필수로 쓰이기에 외워두는 것이 좋다. # 15552번 빠른 A+B import sys input = sys.stdin.readline t = int(input()) for _ in range(t): a, b = map(int, input().split()) print..
[백준] 8979번 올림픽 -파이썬
·
백준/그리디
https://www.acmicpc.net/problem/8979 8979번: 올림픽 입력의 첫 줄은 국가의 수 N(1 ≤ N ≤ 1,000)과 등수를 알고 싶은 국가 K(1 ≤ K ≤ N)가 빈칸을 사이에 두고 주어진다. 각 국가는 1부터 N 사이의 정수로 표현된다. 이후 N개의 각 줄에는 차례대로 각 www.acmicpc.net 풀이2 찾아야하는 나라의 성적과 똑같은 성적을 가진 나라를 내림차순으로 찾아서 제일 먼저 찾은 국가의 인덱스 값을 사용하면 된다. import sys input = sys.stdin.readline n, k = map(int, input().split()) score = [list(map(int, input().split())) for _ in range(n)] score.s..
[백준] 2798번 블랙잭 - 파이썬
·
백준/그리디
https://www.acmicpc.net/problem/2798 2798번: 블랙잭 첫째 줄에 카드의 개수 N(3 ≤ N ≤ 100)과 M(10 ≤ M ≤ 300,000)이 주어진다. 둘째 줄에는 카드에 쓰여 있는 수가 주어지며, 이 값은 100,000을 넘지 않는 양의 정수이다. 합이 M을 넘지 않는 카드 3장 www.acmicpc.net 풀이 combination을 가져와 사용해서 조합을 해주었다. 삼중 for문으로 구현해도 상관없다. # 2798번 블랙잭 from itertools import combinations as cb N, M = map(int, input().split()) numbers = list(map(int, input().split())) minimum = int(1e5) an..
[백준] 1978번 소수 찾기 - 파이썬
·
백준/그리디
https://www.acmicpc.net/problem/1978 1978번: 소수 찾기 첫 줄에 수의 개수 N이 주어진다. N은 100이하이다. 다음으로 N개의 수가 주어지는데 수는 1,000 이하의 자연수이다. www.acmicpc.net 풀이 소수찾기 함수를 만들어서 풀어줘도 좋고 함수없이 푸는것도 좋다. 두개 다 올려놓겠다. # 1978번 소수 찾기 _ = int(input()) ans = 0 numbers = list(map(int, input().split())) # 소수 찾기 알고리즘 def prime(x): for i in range(2, int(x**0.5)+1): if x % i == 0: return False return True for i in numbers: if i == 1: ..
[백준] 1676번 팩토리얼 0의 개수 - 파이썬
·
백준/그리디
https://www.acmicpc.net/problem/1676 1676번: 팩토리얼 0의 개수 N!에서 뒤에서부터 처음 0이 아닌 숫자가 나올 때까지 0의 개수를 구하는 프로그램을 작성하시오. www.acmicpc.net 풀이 팩토리얼 함수 작성 이후에 나온 숫자를 문자열로 만들어서 뒤부터 계산해준다. # 1676번 팩토리얼 0의 개수 def factorial(n): if (n
[백준] 1026번 보물 - 파이썬
·
백준/그리디
https://www.acmicpc.net/problem/1026 1026번: 보물 첫째 줄에 N이 주어진다. 둘째 줄에는 A에 있는 N개의 수가 순서대로 주어지고, 셋째 줄에는 B에 있는 수가 순서대로 주어진다. N은 50보다 작거나 같은 자연수이고, A와 B의 각 원소는 100보다 작거 www.acmicpc.net 풀이 A의 정렬을 내림차순으로 만들어준 뒤 A의 앞부터 끝까지 B의 최댓값과 곱해주는 방법을 이용한다. B의 최댓값은 한번 뽑으면 pop을 통해 지워준다. # 1026번 보물 import sys input = sys.stdin.readline n = int(input()) a_li = list(map(int, input().split())) b_li = list(map(int, input(..
개발자 성현