[백준 2562번-파이썬/Python] 최댓값
알고리즘 공부/BOJ백준 풀이

[백준 2562번-파이썬/Python] 최댓값

http://acmicpc.net/problem/2562

{코드}

m, i = 0, 0
for j in range(9):
	n = int(input())
	if n > m:
		m, i = n, j+1
print(m)
print(i)

{설명}

사실 이 문제는 배열에 저장하지 않아도 풀 수 있는 문제로 9번 반복문을 돌리며 가장 큰 값과 몇 번째 반복인지(해당 배열의 인덱스)를 저장해가며 반복이 끝나면 마지막으로 저장된 인덱스를 출력하면 됩니다.

{코드}

data = [int(input()) for _ in range(9)]
print(max(data))
print(data.index(max(data))+1)

{설명}

또다른 방법은 파이썬의 리스트 메서드를 사용하는 방법입니다.

리스트에는 index라는 메소드가 있는데 이는 파라미터로 넘겨진 값이 배열의 몇 번째 인덱스에 있는지 알려주는 메서드입니다.

해당 메서드에 max함수를 이용해 리스트의 최댓값을 넘겨주고 거기에 1을 더한 값을 출력하면 됩니다.

1을 더하는 이유는 인덱스는 0부터 시작하기 때문에 인덱스가 7이라면 8번째 숫자가 되기 때문입니다.

*리스트를 만든 방법은 리스트 컴프리헨션(List Comprehension)으로 대괄호 안에 for문을 넣고 그 앞에 식을 넣어 리스트를 만드는 방법입니다.