최댓값(2562번)

PearLine_Zero·2024년 3월 13일

하루에 1커밋 CodingTest

목록 보기
34/110
post-thumbnail
  • 티어 : Bronze 3
  • 정답여부 : 오답
  • 알고리즘 유형 : 구현
  • 시간 제한 : 1초

💡문제

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

예를 들어, 서로 다른 9개의 자연수

3, 29, 38, 12, 57, 74, 40, 85, 61

이 주어지면, 이들 중 최댓값은 85이고, 이 값은 8번째 수이다.

💡입력

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

💡출력

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

💡예제 입력 1

3
29
38
12
57
74
40
85
61

💡예제 출력 1

85
8

💡문제요약

리스트중에 가장 큰 수와 그 숫자가 위치한 index를 출력하는 문제

💡알고리즘 설계

  1. 리스트로 숫자를 입력 받음
  2. max로 가장 큰 수를 찾음
  3. index를 사용하여 가장 큰 수의 위치를 +1하여 출력

💡작성코드

  • python
a = list(map(int, input().split()))
first_max = max(a)
find_max = a.index(first_max)
print(first_max)
print(find_max + 1)    

💡틀린 이유 or 수정할 부분

a를 입력 받을 때 나열하면서 입력받는게 아니라 하나 입력을 받고 엔터로 for문을 이용해야 한다는것을 깨달음
1. 빈 리스트를 만들어줌
2. for문으로 숫자 9개로 이루어 진다고 문제에 있음
3. i에 숫자를 넣어주고 number에 추가
4. max함수와 index 함수를 써서 정답을 출력

💡틀린 부분 수정 or 다른풀이

  • python
numbers = []
for _ in range(9):
    i = int(input())
    numbers.append(i)    
print(max(numbers))
print(numbers.index(max(numbers))+1)  

💡느낀점 or 기억할 정보

index는 0부터 시작이다!

profile
https://baesaa0304.tistory.com 블로그 이사합니다~

0개의 댓글