본문 바로가기
Coding Test (코딩 테스트)

코딩테스트 12일차(2025.01.28) - 백준2562번(최댓값)

by BioLearner 2025. 1. 28.
반응형

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)

 

 

[파이썬/Python] 백준 2562 - 최댓값

https://www.acmicpc.net/problem/2562가장 먼저 입력할 수들을 담을 리스트를 만들어 줍니다.9개의 서로 다른 자연수를 입력한다고 했으니, 숫자를 입력하고 그 숫자를 앞서 만든 numbers 리스트에 담는 것

velog.io

또 다른 풀이로는 리스트를 만들고 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)

 

반응형