본문 바로가기
  • 초부득3 - 어제보다 나은 내일을 위해
  • 꿈이 현실이 되는 날까지
sw사관학교 정글 2기/01 기초,재귀,완전탐색, 정렬

[기초-배열] 백준 2562번 -최댓값- with.Python3

by 금의야행 2021. 8. 7.

https://www.acmicpc.net/problem/2562

 

2562번: 최댓값

9개의 서로 다른 자연수가 주어질 때, 이들 중 최댓값을 찾고 그 최댓값이 몇 번째 수인지를 구하는 프로그램을 작성하시오. 예를 들어, 서로 다른 9개의 자연수 3, 29, 38, 12, 57, 74, 40, 85, 61 이 주어

www.acmicpc.net

문제

9개의 서로 다른 자연수가 주어질 때, 이들 중 최댓값을 찾고 그 최댓값이 몇 번째 수인지를 구하는 프로그램을 작성하시오.

내 풀이

a = []
for i in range(9):
    a.append(int(input()))
    
print(max(a))
print(a.index(max(a))+1) #컴퓨터는 0부터 세기에 인간의 관점으론 +1을 해야함

해설

처음으로 야무지게 틀리다가 겨우 맞춘 문제.

왜냐? max를 안썻거든. 찬양하라 내장함수.

 

max는 리스트 안에 숫자만 들어있을 때, 혹은 문자열만 들어있을 때와 같이 사용가능.

섞이면 다른 방법이 필요합니다.

 

추가로

max( iterable , key= len)  

len 과 같이 key를 주면 이 기준에 따라 최대값을 찾아줍니다. 이경우 문자열 list라면 단어 길이가 가장 긴놈을 찾아준다.

 

정답 풀이

arr = []
for i in range(9):
    arr.append(int(input()))
 
max = max(arr)
print(max)
idx = arr.index(max)
print(idx+1)

출처:https://byfuls.com/programming/read?id=44

 

해석

 

댓글