신규 블로그를 만들었습니다!
최댓값
https://www.acmicpc.net/problem/2562
문제 풀이는 글 아래에 있습니다.
문제
9개의 서로 다른 자연수가 주어질 때, 이들 중 최댓값을 찾고 그 최댓값이 몇 번째 수인지를 구하는 프로그램을 작성하시오.
예를 들어, 서로 다른 9개의 자연수
3, 29, 38, 12, 57, 74, 40, 85, 61
이 주어지면, 이들 중 최댓값은 85이고, 이 값은 8번째 수이다.
입력
첫 째 줄부터 아홉 번째 줄까지 한 줄에 하나의 자연수가 주어진다. 주어지는 자연수는 100 보다 작다.
출력
첫째 줄에 최댓값을 출력하고, 둘째 줄에 최댓값이 몇 번째 수인지를 출력한다.
예제
예제 입력
3
29
38
12
57
74
40
85
61
예제 출력
85
8
Python 문제 풀이
2가지 방법으로 풀어봤습니다.
첫번째 방법
import sys
def solution(n):
"""첫번째 방법"""
max_num = float("-inf")
max_index = -1
for _ in range(n):
num = int(sys.stdin.readline().strip())
if max_num < num:
max_num = num
max_index = _ + 1
else:
pass
print(max_num)
print(max_index)
if __name__ == "__main__":
solution(9)
파이썬에서 제공해주는 메소드를 사용하지 않고, if
문을 이용하여 풀었습니다.
두번째 방법
import sys
def solution2(n):
"""두번째 방법"""
num_list = list()
for _ in range(n):
num_list.append(int(sys.stdin.readline().strip()))
max_num = max(num_list)
print(max_num)
print(num_list.index(max_num) + 1)
if __name__ == "__main__":
solution2(9)
.index()
메소드 사용하여 해당 원소의 인덱스를 가져오는 방법으로 풀었습니다.
.index(num)
메소드는 리스트 중 num
값을 가진 원소의 인덱스를 반환합니다.
정답 확인
본 글은 직접 문제를 풀어보고 작성한 글입니다.
더 좋은 방법이 있거나 틀린부분이 있다면 댓글로 공유해주세요!
'Algorithm > 백준 온라인 저지' 카테고리의 다른 글
백준 1712번 - 손익분기점 (Python3 문제 풀이) (0) | 2019.12.23 |
---|---|
백준 2588번 - 곱셈 (Python 문제 풀이) (0) | 2019.12.02 |
백준 1330번 - 두 수 비교하기 (Python 문제풀이) (1) | 2019.11.30 |
백준 7785번 - 회사에 있는 사람 (Python3) (0) | 2019.08.04 |
백준 1475번 - 방 번호 (Python3) (0) | 2019.08.04 |
최근댓글