인프런 커뮤니티 질문&답변
안녕하세요 질문입니다.
작성
·
140
0
문제에서 n으로 입력 후 그 수만큼 도는거였는데 선생님 코드로 하면 n을 1을 하던 100만을 하던 n에 관계없이 실행 되네요.
input.split으로 입력하면 여러 입력을 그냥 관계없이 무한정 입력 가능한가요? n을 입력했는데 쓰이지 않아서 여쭤봤습니다.
for (i = 1; i <= n; i++) {
scanf("%d", &num);
sum = digit_sum(num); //
if (sum > max) {
max = sum;
res = num;
}
그리고 파이썬은 이렇게 for문에 조건들 못 주는지도 궁금합니다.
import sys
#sys.stdin=open("input.txt", "r")
def digit_sum(x):
sum=0
while x>0:
sum+=x%10
x=x//10
return sum
n=int(input())
while(n >0):
#a=list(map(int, input().split()))
a=int,(input());
a= list(a);
n-=1;
res=0
#max=-2147000000
max=float('-inf')
for x in a:
tot=digit_sum(x)
if tot>max:
max=tot
res=x
print(res)
파이썬은 잘 몰라서 while문이랑 for문 조건 달아서 n개수만큼 입력 input()하나로 여러번 입력 해주고싶은데.. 에러나서 질문 드립니다.
답변 1
0
김태원
지식공유자
안녕하세요^^
사실 여기 문제 자체가 C++형으로도 사용하는 문제라 그렇습니다. 파이썬에서는 굳이 n이 필요없이 한 줄로 뛰어쓰기 되어 들어오면 input().split()으로 읽으면 됩니다.
파이썬으로 반목문안에서 하나씩 읽으려면 입력자체가 한 줄로 뛰어쓰기 되어 들어오면 안되고 아래처럼 각 값들이 줄바꿈되어 들어와야 합니다.
3
125
15232
97





