값 입력이 잘못되었습니다.
"각 테스트 케이스는 한 줄로 이루어져 있고, n이 주어진다."
3460번 - 이진수
감사합니다. 이제는 틀렸습니다로 표기됩니다.
질문을 하나 더 드리고 싶습니다.
아래와 같이 코드를 다시 구현했고 실행했을 때 2진수의 위치(역순)이 정상적으로 출력되는걸 확인했습니다.
값이 계속 틀렸다고 나오는데 여러 경우를 만들어서 테스트해봤지만 값 이상이 없었습니다.
잘못된 부분에 대해 조언좀 부탁드립니다.
#입력값 # 3 # 13 # 25 # 100 T = int(input()) # 테스트케이스 값 #n = list(map(int, input().split())) # n 입력값(가로로 공백 한칸 간격으로 입력) n = [] for i in range(T): n.append(int(input())) # n 입력값 for i in range(T): # 테스트케이스만큼 반복 pp = [] # n값의 이진수(역방향)가 들어갈 리스트 result = [] # 반환된 이진수의 인덱스값을 일치하여 넣을 리스트 while n[i] != 0: # 나머지 확인 방식으로 1,0 값을 출력 반복 if n[i] % 2 == 1: pp.append(1) n[i] = (n[i] - 1) / 2 elif n[i] % 2 != 1: pp.append(0) n[i] = n[i] / 2 # print(pp) for i in range(len(pp)): # 1에 해당하는 인덱스 값을 리스트에 추가 if pp[i] == 1: result.append(i) print(result) # 결과값 출력
댓글을 작성하려면 로그인해야 합니다.
smkyu1919 2년 전
에러는 RuntimeError(IndexError)가 발생합니다.
Pycharm으로 돌렸을 때 결과값은 정상적으로 출력이 됩니다.
상황이 이래서 문제가 발생하는 구간이 어딘지 예상하기가 힘듭니다.
IndexError라서 초과하는 Index(또는 없는 Index)를 건드리지는 않나 싶어 여러번 확인했지만
초과가 되는 경우를 찾기 힘드네요...
도움이 필요합니다.