beak 2562 풀이
고민 많이했다...
문제
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
접근방법
예제입력값을 어떻게 접근할지 많은 고민을 했다.
리스트를 넣어보면 어떨까 생각에
a=list(int,input().split()) 해보았지만 아니였다.
그다음은 예제 입력값 그대로 출력 할수 있는 방법을 고민했다.
그러면 리스트 메서드 append를 사용하여 하나씩 추가하면 한개씩 차례대로 입력될것이다.
반복적으로 추가하기 위해서는 어떻게 해야할까?
그렇다. 반복문을 사용해야된다는 걸 알수 있다. 입력값은 9이니깐
for i in range(9) 코드짜면 9번 반복할수 있는 조건이 되고 입력값 횟수와 맞아떨어진다.
그다음 리스트 메서드 append사용하여 빈배열 a에 할당한다.
a= [] # 빈배열
for i in range(9):
a.append(int(input())) #이코드는 빈배열 필수!
print(max(a)) # 최댓값구하기
print(a.index(max(a))+1) # 인덱스 후 출력값에 맞추어서 +1
풀이
a =[ ]
빈 배열 할당
for i in range(9):
반복문을 통해 9번 입력 할수 있는 코드 생성
생성후 가만히 두면 생성이 되는가?! 안된다..!!
리스트 메서드 append()
함수 적용으로 반복을 통해 a 빈배열에 할당한다.
최댓값은 max() 함수사용으로 최댓값 출력
8번째 값 표현은 index(max(a))+1
하면 7+1나와서 8이 출력된다!
필요문법
1.리스트 2.리스트메서드 3.반복문 for 4.range() 함수 5.index()함수
Author And Source
이 문제에 관하여(beak 2562 풀이), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://velog.io/@chp0510/beak-2562-풀이저자 귀속: 원작자 정보가 원작자 URL에 포함되어 있으며 저작권은 원작자 소유입니다.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)