[Boj문제풀이]

[Boj/백준] 18234 Python

ki7348 2021. 10. 6. 10:39

문제출처: https://www.acmicpc.net/problem/18234

 

18234번: 당근 훔쳐 먹기

첫 번째 줄에 N(1 ≤ N ≤ 200,000)과 T(N ≤ T ≤ 100,000,000)가 공백으로 구분되어 주어진다. 오리는 당근의 맛을 충분히 높이기 위해 항상 N이상인 T일 동안 재배한다. 다음 N개의 줄에 걸쳐서 i+1번째

www.acmicpc.net

 

 

1. 문제 접근 방식

어떻게 풀어야할지 고민을 오래했다.

당근 안먹어도 된다는거 보고 처음엔 그냥 당근 안먹다가 t-n시점부터

증가율이 낮은 순서대로 먹으면 된다고 생각했다.

 

 

2. 내가 푼 코드

import sys

n, t = map(int,sys.stdin.readline().split())

arr = []
for _ in range(n):
    arr.append(list(map(int,sys.stdin.readline().split())))

result = 0
arr.sort(key=lambda x:x[1] )
cnt = 0
for i in arr:
    result += i[0]+i[1]*(t-n+cnt)
    cnt+=1

print(result)

 

 

3. 결과 및 느낀점

for 문 안에서 arr.index() 메소드를 사용했다가 시간초과가 났다.

굳이 사용 안해도 될때는 변수로 해결하자.

'[Boj문제풀이]' 카테고리의 다른 글

[Boj/백준] 15553 Python  (0) 2021.10.06
[Boj/백준] 2170 Python  (0) 2021.10.05
[Boj/백준] 13164 Python  (0) 2021.10.05
[Boj/백준] 2075 Python  (0) 2021.10.04
[Boj/백준] 7983 Python  (0) 2021.10.04