우당탕탕 파이썬 with 하루하나 알고리즘

백준 2562 파이썬 - 리스트 값을 하나씩 추가한 후 최댓값 구하기

hyxndy 2022. 3. 27. 14:49

백준 2562번 - 최댓값 with Python

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

입력> 첫째 줄부터 아홉 번째 줄까지 한 줄에 하나의 자연수가 주어진다. 주어지는 자연수는 100 보다 작다.

출력> 첫째 줄에 최댓값을 출력하고, 둘째 줄에 최댓값이 몇 번째 수인지를 출력한다.

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

 

2562번: 최댓값

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

www.acmicpc.net


먼저 이 문제에서 중요한 점

1. 리스트의 길이가 9로 주어져있다.

2. 최댓값을 도출해내고, 그 최댓값의 인덱스 또한 도출해주어야 한다.

문제 풀이를 잘 모르겠다면, 일단 이 두가지만 기억하고 다시 생각을 한 후 풀도록 하자.


이제 문제 풀이를 해보겠슴!

먼저 입력값들을 입력시킬려면 list를 생성해주어야 한다. 그리고 이 list를 N이라는 변수에다가 저장을 하겠다.

N = list[]

 

그 다음 첫 번째 입력값인 3부터 아홉 번째 입력값인 61까지 리스트에 추가를 시켜줘야 한다.

먼저 리스트에 값을 추가하는 메소드는 .append()함수를 이용하면 된다.

list타입인 N에 어떤 수를 추가하려면,

N.append(추가할 값)

을 이용해 추가해주면 된다. 우리는 입력값을 추가할 것이기 때문에

N.append(int(input())

코드를 활용해주면 된다.

 

이 코드를 총 9번 실행해주어야 하기 때문에

범위가 주어졌을 때의 반복문인 for문을 사용하도록 하겠다.

for i in range(9):
    N.append(int(input()))

i는 0에서부터 8까지 이 값들을 추가할 수 있도록 만들어주었다.

 

이제 최댓값과 최댓값이 몇 번째 수인지, 즉 인덱스를 출력해주어야한다.

최댓값을 출력하는 함수는 max()이고,

인덱스를 출력하는 함수는 .index()이다.

print(max(N))
print(N.index(max(N))+1)

인덱스는 0부터 시작하기 때문에 추가적으로 +1을 해주었다.

 

이제 코드를 종합해서 보면

N = list()
for i in range(9):
    N.append(int(input()))
print(max(N))
print(N.index(max(N))+1)

임을 알 수 있다.