Coding

백준 2562번

교 향 2022. 10. 18. 02:30

문제

9개의 서로 다른 자연수가 주어질 때, 이들 중 최댓값을 찾고 그 최댓값이 몇 번째 수인지를 구하는 프로그램을 작성하시오.
예를 들어, 서로 다른 9개의 자연수
3, 29, 38, 12, 57, 74, 40, 85, 61
이 주어지면, 이들 중 최댓값은 85이고, 이 값은 8번째 수이다.

입력


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

출력

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

 

[틀리게 작성한 원본] :

input_list=[]
for i in range(9):

    # 근데 map~이렇게만쓰면 map오브젝트 주소값만뽑아서 x for x써줘야한다 생각해서 쓴건데

    # 이렇게 쓰니까 map오브젝트에서 generator타입으로 바뀌었음
    input_list.append(x for x in map(int, input().split('\n')))

max_value = max(input_list)
order_in_input_list = input_list.index('max_value')
        
for a in input_list:
    if(a<100):
        print(max_value)
        print(order_in_input_list)
    else:
        print("error")

이 때 발생한 오류 : TypeError: '>' not supported between instances of 'generator' and 'generator'



 

[수정 1] :

input_list=[]
for i in range(9):
    a = int(input().split('\\')
    if a<100:
        input_list.append(a)

print(max(input_list))
print(input_list.index(max(input_list))+1)

 

이 때 발생한 오류 : TypeError: int() argument must be a string, a bytes-like object or a number, not 'list'

문제에서 엔터를 쳐서 값을 input받는다는 것에 split안에 개행문자를 넣었지만

이렇게 넣으니 list타입으로 들어가게 되었고,

사실 for문을 돌며 인풋 받을 때마다 엔터를 치니까 개행문자 안 넣어도 되었으며 int(input())은 int형식을 받음

 

[답1 ] :

num_list=[]
for i in range(5):
    a = int(input())
    if a<100:
        num_list.append(a)

print(max(num_list))
print(input_list.index(max(num_list))+1)

혹은 if문을 빼도 됨

[답2] :
num_list = []
for i in range(9):
    num_list.append(int(input()))
print(max(num_list))
print(num_list.index(max(num_list))+1)

 

 

나와 같은 질문▽

https://dojang.io/mod/forum/discuss.php?d=856 

 

파이썬 코딩 도장: 6.4 두 변수를 바로 정수형으로 바꿔 주는 방법에 대해서

변수는 값을 바꿀 수 있습니다. >>> a = 10>>> a10>>> a = 20>>> a20>>> 파이썬은 여러 가지 편리한 문법을 제공하지만, 언어 전체를 학습하기 전에는 자칫 오해를 불러일으킬 수 있습니다. >>> b = 10, 20>>> b(1

dojang.io

 

 

 

※ 참고 )반복문으로 리스트 만들기

https://dojang.io/mod/page/view.php?id=2293

    

 

파이썬 코딩 도장: 23.3 반복문으로 리스트 만들기

이번에는 for 반복문과 append를 활용하여 리스트를 만드는 방법을 알아보겠습니다. 23.3.1  for 반복문으로 1차원 리스트 만들기 먼저 요소 10개가 일렬로 늘어서 있는 1차원 리스트부터 만들어보겠

dojang.io