randoms   3년 전

제가 제출한 코드의 일부입니다...

for _ in range(int(input())):
    s=input()
    if s=='all':
        S=[1]*21
    elif s=='empty':
        S=[0]*21

->100퍼에서 런타임에러

for _ in range(int(input())):
    s=input()
    if s[:3]=='all':
        S=[1]*21
    elif s[:5]=='empty':
        S=[0]*21

->정답입니다!


테스트케이스 마지막에 뭔가 공백이라던가 하는 불순물이 끼여있는것 같습니다ㅠㅠ

수정요청드려도 될까요??

jh05013   3년 전

제출하신 걸 보니 input 말고 sys.stdin.readline을 하셨네요. 이건 개행문자를 같이 입력받기 때문에 아래처럼 해야 맞습니다. s가 "all"이 아니라 "all\n"이 되기 때문에 조건문을 못 들어가고 뒤에 있는 s, x = s.split()을 하면서 런타임 에러를 띄웁니다. 위 코드가 100%까지 가는 건 그냥 데이터가 굉장히 약해서일 뿐입니다.

randoms   3년 전

아.. 속도때매 readline으로 했는데 그런 다른점이 있을줄은 몰랐네요.. 감사합니다!

댓글을 작성하려면 로그인해야 합니다.