요구사항
- 시간 제한: 1초
- 메모리 제한: 128MB
- 주어진 9개의 숫자들 중 최댓값을 찾고, 최댓값이 몇 번째 수인지 구해라.
설계
- 주어진 범위의 크기가 매우 작으므로 시간과 메모리의 제한은 무의미하다.
- 입력 받은 9개의 수를 리스트에 저장.
- 리스트를 순회하며 최댓값을 갱신.
- 갱신됐다면 현재 몇 번째 인지 저장.
구현
import sys
input = lambda: sys.stdin.readline().rstrip()
how_many_nums = 9
max_num = 0
count = 0
num_list = [int(input()) for _ in range(how_many_nums)]
# print(num_list)
for i in range(how_many_nums):
# print(i)
max_num = max(max_num, num_list[i])
if max_num == num_list[i]:
count = i + 1
print(max_num)
print(count)
GPT 리팩토링
import sys
input = lambda: sys.stdin.readline().rstrip()
nums = [int(input()) for _ in range(9)]
max_num = max(nums)
index = nums.index(max_num) + 1
print(max_num)
print(index)
- max() 내장함수를 반복 가능한 객체면 다 들어갈 수 있다. 단, 딕서녀리의 경우 key 지정 없이 비교할 수 없다.