알고리즘(13)
-
[백준] 2217번 : 로프 (Python)
https://www.acmicpc.net/problem/2217 2217번: 로프 N(1 ≤ N ≤ 100,000)개의 로프가 있다. 이 로프를 이용하여 이런 저런 물체를 들어올릴 수 있다. 각각의 로프는 그 굵기나 길이가 다르기 때문에 들 수 있는 물체의 중량이 서로 다를 수도 있다. 하 www.acmicpc.net 💡 내 코드 n= int(input()) r=[] for i in range(n): a=int(input()) r.append(a) r= sorted(r,reverse=True) w=[] for i in range(1,n+1): w.append(r[i-1]*i) w_max=max(w) print(w_max)
2023.03.13 -
[백준] 11399번 : ATM (Python)
https://www.acmicpc.net/problem/11399 11399번: ATM 첫째 줄에 사람의 수 N(1 ≤ N ≤ 1,000)이 주어진다. 둘째 줄에는 각 사람이 돈을 인출하는데 걸리는 시간 Pi가 주어진다. (1 ≤ Pi ≤ 1,000) www.acmicpc.net 💡 코드 # ATM n = int(input()) p = list(map(int, input().split())) p = sorted(p) sum=0 result=0 for i in p: sum+=i result+=sum print(result)
2023.03.13 -
[백준] 11047번 : 동전 0 (Python)
https://www.acmicpc.net/problem/11047 11047번: 동전 0 첫째 줄에 N과 K가 주어진다. (1 ≤ N ≤ 10, 1 ≤ K ≤ 100,000,000) 둘째 줄부터 N개의 줄에 동전의 가치 Ai가 오름차순으로 주어진다. (1 ≤ Ai ≤ 1,000,000, A1 = 1, i ≥ 2인 경우에 Ai는 Ai-1의 배수) www.acmicpc.net 문제 유형 그리디 알고리즘 내 코드 n,k= map(int,input().split()) coin_cnt=0 coin=[] for i in range(n): a=int(input()) coin.append(a) coin = sorted(coin,reverse=True) for i in coin: coin_cnt+= k // i k%=..
2023.03.12 -
[백준] 1343번 : 폴로노미오 (Python)
https://www.acmicpc.net/problem/1343 1343번: 폴리오미노 첫째 줄에 사전순으로 가장 앞서는 답을 출력한다. 만약 덮을 수 없으면 -1을 출력한다. www.acmicpc.net 문제 유형 구현 그리디 알고리즘 내 코드 board = input() board+='.' result= '' cnt=0 temp=0 # 홀수 존재 유무를 판별하기 위한 변수 for i in board: if i == 'X': cnt += 1 if cnt == 4: result+= 'AAAA' cnt =0 else : if cnt == 2: result +='BB' elif cnt % 2 == 1: # 홀수면 만들 수 없으므로 -1 출력 print('-1') temp=1 break result+='.'..
2023.03.11 -
[백준] 5585번 : 거스름돈 (Python)
https://www.acmicpc.net/problem/5585 5585번: 거스름돈 타로는 자주 JOI잡화점에서 물건을 산다. JOI잡화점에는 잔돈으로 500엔, 100엔, 50엔, 10엔, 5엔, 1엔이 충분히 있고, 언제나 거스름돈 개수가 가장 적게 잔돈을 준다. 타로가 JOI잡화점에서 물건을 사 www.acmicpc.net 문제 유형 그리디 알고리즘 내 코드 n= int(input()) m = 1000-n coins=[500,100,50,10,5,1] count=0 for coin in coins: count += m//coin m %= coin print(count)
2023.03.11