문제
작성한 코드
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 |