문제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
※ 참고 )반복문으로 리스트 만들기
https://dojang.io/mod/page/view.php?id=2293
'Coding' 카테고리의 다른 글
커널아 왜 자꾸 죽는거니? (0) | 2022.12.05 |
---|---|
터미널창에서 글자를 복사할 땐 (0) | 2022.10.06 |
파이썬 스니펫(조각코드 모음집, 위키독스) (0) | 2022.09.22 |
크롤링 코드 샘플 (0) | 2022.07.22 |
pipreqs - 설치한 라이브러리만 requirements로 뽑고 싶을 때 (0) | 2022.07.14 |