https://www.acmicpc.net/problem/2562
https://www.acmicpc.net/problem/2562


풀이

리스트와 내장함수를 이용하여 풀이 가능하며, 리스트 사용 없이 입력받는 즉시 비교하여 최대값과 위치(몇 번재 수인지)를 업데이틑 하는 방법이 가능하다.

 

>>> 리스트 사용 없이 입력받는 즉시 비교하여 최대값과 위치(몇 번재 수인지)를 업데이틑 하는 방법

max = 0
max = 0

for i in range(9):
    num = int(input())
    
    if num > max:
        max = num
        max_i = i
    
print(max)
print(max_i+1)

 

>>> 리스트와 내장함수를 사용하는 방법

arr = []

for i in range(9):
    arr.append(int(input()))
    
print(max(arr))
print(arr.index(max(arr))+1)

 

>>> 결과

가장 처음에 제출하여 36ms 걸린 풀이는 리스트 사용 없이 입력받는 즉시 비교하여 최대값과 위치(몇 번재 수인지)를 업데이틑 하는 방법이다.

 

두 번째 제출은 중간에 오타가 있어서 틀렸다;;;

 

마지막에 제출하여 32ms 걸린 풀이는 리스트와 내장함수를 사용하는 방법이다.

 

결론

이번에는 리스트를 사용하지 않는 방식이 조금이나마 빠를 것으로 예상하였지만, 리스트와 내장 함수를 사용하는 방법이 조금이나마 빠른 결과를 낳았다.

 

이는 매 입력시 값을 비교하는 과정이 시간 소요가 된다는 점을 시사한다.

 

최대한 빠르게 입력받아 내장 함수를 사용하여 최대값을 찾는 방법이 빠르다는 것을 배웠다.

+ Recent posts