백준 2562번
문제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=[]
|
혹은 if문을 빼도 됨
|
나와 같은 질문▽
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