본문 바로가기
DEV/백준 알고리즘

백준 알고리즘 2562번(파이썬)

by 올커 2022. 9. 28.

 

백준 2562번_파이썬 알고리즘

Q. 백준 2562. x보다 작은 수

서로 다른 9개의 자연수를 입력받아 그 중 최댓값과, 최댓값이 몇 번째 수인지 판별하는 프로그램을 작성한다
(ex. 입력 - 3, 29, 38, 12, 57, 74, 4-, 85, 61 → 최댓값 : 85, 순번 : 8)
(1) 입력 - 한 줄에 하나씩 100 이하의 자연수를 입력한다.
(2) 출력 - 첫째 줄에 최댓값, 둘째 줄에 해당 숫자의 순번을 출력한다.

 


A. 풀이

# Q 백준 2562. 최댓값 - 리스트로 풀기 (정답)
# 리스트 선언
num_list = []

# for 문을 통해 입력값을 받아 리스트에 요소 삽입
for i in range(9) :
​​​​num_list.append(int(input())) 

# 출력
print(max(num_list))                  # 리스트에서 최대값 확인
print(num_list.index(max(num_list))+1)    # 최대값에 해당되는 인덱스+1로 순번 출력

 

# Q 백준 2562. 최댓값 - 딕셔너리 활용 (답은 나오나, 채점 인정 X)
# 딕셔너리 선언
num_list = {}

# for문을 통해 입력값을 key로 받고, 순서 i+1은  value로 받기
for i in range(9):
​​​​num = int(input())
​​​​num_list[f"{num}"] = f"{i+1}"

# 출력
max_key = max(num_list.keys())       # 리스트에서 최대값 뽑기
print(max_key)                       # 최대값 출력
print(num_list[max_key])             # 최대값이 해당되는 키값 출력

R. 리뷰

 - 순번을 딕셔너리의 Value로 활용도 가능하다고 생각하여 문제는 해결하였으나, 백준 시스템에서 채점시 답으로 인정되지 않았다. (이유를 아시는 분은 댓글 부탁드립니다. :))

반응형

댓글