백준 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로 활용도 가능하다고 생각하여 문제는 해결하였으나, 백준 시스템에서 채점시 답으로 인정되지 않았다. (이유를 아시는 분은 댓글 부탁드립니다. :))
반응형
'DEV > 백준 알고리즘' 카테고리의 다른 글
백준 알고리즘 1546번(파이썬) (0) | 2022.09.30 |
---|---|
백준 알고리즘 3052번(파이썬) (0) | 2022.09.29 |
백준 알고리즘 10818번(파이썬) (0) | 2022.09.27 |
백준 알고리즘 10871번(파이썬) (0) | 2022.09.26 |
백준 알고리즘 1110번(파이썬) (0) | 2022.09.25 |
댓글