풀이
리스트와 내장함수를 이용하여 풀이 가능하며, 리스트 사용 없이 입력받는 즉시 비교하여 최대값과 위치(몇 번재 수인지)를 업데이틑 하는 방법이 가능하다.
>>> 리스트 사용 없이 입력받는 즉시 비교하여 최대값과 위치(몇 번재 수인지)를 업데이틑 하는 방법
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 걸린 풀이는 리스트와 내장함수를 사용하는 방법이다.
결론
이번에는 리스트를 사용하지 않는 방식이 조금이나마 빠를 것으로 예상하였지만, 리스트와 내장 함수를 사용하는 방법이 조금이나마 빠른 결과를 낳았다.
이는 매 입력시 값을 비교하는 과정이 시간 소요가 된다는 점을 시사한다.
최대한 빠르게 입력받아 내장 함수를 사용하여 최대값을 찾는 방법이 빠르다는 것을 배웠다.
'[코테] Baekjoon 단계별 풀이 > 1차원 배열' 카테고리의 다른 글
[파이썬/Python] 백준 10818번 최소, 최대 (0) | 2024.06.29 |
---|---|
[파이썬/Python] 백준 10871번 X보다 작은 수 (0) | 2024.06.29 |
[파이썬/Python] 백준 10807번 개수 세기 (0) | 2024.06.29 |