반응형
9개의 서로 다른 자연수가 주어짐 이들 중 최댓값을 구하고 몇 번째 수인지 구하기
result = []
for i in range(9):
a = int(input())
result.append(a)
max_value = max(result)
print(max_value)
for i, value in enumerate(result):
if value == max_value:
print(i+1)
일단 받는 것은 9개 최댓값을 구하고 enumerate를 사용하여 인덱스를 찾는 방법으로 이 문제를 풀었다.
결과: 정답
또 다른 풀이
numbers = []
for i in range(9):
a = int(input())
numbers.append(a)
print(max(numbers))
print(numbers.index(max(numbers)) + 1)
또 다른 풀이로는 리스트를 만들고 9개의 자연수를 받는 방법은 같다.
하지만 리스트에서 가장 큰 수를 출력하고, 그 수의 인덱스 번호에 1을 더한 수를 출력하는 방법을 사용하는데 .index를 사용하여 푼다.
고찰
1. enumerate와 index의 차이는 무엇일까?
enumerate와 index는 리스트에서 원하는 값을 찾을 때 유용한 함수.
enumerate는 리스트의 각 항목에 대한 인덱스와 값을 동시에 반환하지만, index는 주어진 값의 첫 번째 인덱스를 반환한다.
2. 값이 정해지지 않고 나타난다면 어떻게 코드를 짜야할까?
(1) 값이 동적으로 주어지는 경우
result = []
# 계속 입력 받기 (예: EOF가 들어올 때까지)
while True:
try:
a = int(input()) # 입력값을 받아 숫자로 변환
result.append(a)
except EOFError:
break # 더 이상 입력이 없으면 종료
# 결과 출력
print(max(result))
print(result.index(max(result)) + 1)
반응형
'Coding Test (코딩 테스트)' 카테고리의 다른 글
코딩테스트 13일차(2025.01.29) - 백준10813번(공 바꾸기) (0) | 2025.01.29 |
---|---|
코딩테스트 12일차(2025.01.28) - 백준10810번(공 넣기) (0) | 2025.01.28 |
코딩테스트 12일차(2025.01.28) - 백준10818번(최소, 최대) (0) | 2025.01.28 |
코딩테스트 11일차(2025.01.27) - 백준10871번(X보다 작은 수) (0) | 2025.01.27 |
코딩테스트 11일차(2025.01.27) - 백준10807번(개수 세기) (0) | 2025.01.27 |