Lumpy Space Princess - Adventure Time
코딩테스트/백준

백준 [2562] - 최댓값

yaebb_82 2022. 8. 8.

 

 

 

문제

 

 

 

작성한 코드

import sys

input = sys.stdin.readline

array = list()

for i in range(0, 9):
    array.append(int(input()))
    
print(max(array))

for i in range(0, 9):
    if array[i] == max(array):
        print(i+1)

- sys.stdin.readline을 input에 할당하여 사용하였다.

- array를 list로 선언하였다. (참고: array = [] 이렇게도 선언 가능하다.)

- list형인 array에 입력한 값들을 저장하기 위해서 반복문 for을 사용했고, 9개의 값을 저장하기 위해서 range(0, 9)로 범위를 설정하였다. (= 0~8)

- input()으로 문자를 입력받고, int형으로 형변환하여 append를 통해 array의 뒤에서부터 차례로 값이 저장된다.

- print()로 array의 값들 중 최댓값을 출력한다.

- 다시 반복문 for을 사용하여 array의 인덱스에 해당하는 값들과 array의 최댓값을 비교하고, 일치한다면 해당 인덱스에 +1을 하여 print()로 출력한다.

 

 

cf.) 더 간단하게 코드 작성

import sys

input = sys.stdin.readline

array = list()

for i in range(0, 9):
    array.append(int(input()))
    
print(max(array))
print(array.index(max(array))+1)

- 위의 코드에서 마지막 for문을 좀 더 간단하게 작성할 수 있다.

- array의 max 값을 가지는 인덱스를 알기 위해 index()를 사용하고, 해당 인덱스에 +1을 해주어 출력한다.

 

(굳이 for문을 사용할 필요가 없다.)

 

 

 

반응형

'코딩테스트 > 백준' 카테고리의 다른 글

백준 [3052] - 나머지  (0) 2022.08.08
백준 [2577] - 숫자의 개수  (0) 2022.08.08
백준 [10818] - 최소, 최대  (0) 2022.08.08
백준 [1110] - 더하기 사이클  (0) 2022.08.06
백준 [10951] - A+B-4  (0) 2022.08.06

댓글