dlsxor48   7년 전

안녕하세요 알고리즘 문제풀이 초보 대학생입니다.

왜 컴파일 에러가 발생하는지 모르겠습니다..

line 23 ' int(ch[i]) - 48; ' or line 35 ' stoi(str2)' 부분에서 문제가 발생하는걸까요..?

아시는 분 계시면 조언 부탁드립니다.

mixnuts   7년 전

일단 첫 번째 문제는 std::stoi에서 std::out_of_range가 뜰 수 있다는 점입니다. std::stoll 을 사용하셔야 합니다.

(그런데 std::stoll 쓰면 long long int 이상의 범위에서는 답이 안 나올거 같은데요. 그냥 string을 출력하는게 맞지 않는지?)

두번째 사소한 고칠점은 ReverseString을 substr로 짰다는 겁니다. 그냥 std::reverse 써도 됩니다. (<algorithm> 에 있습니다)

그리고 컴파일 에러는 제 컴퓨터에서 돌려보니까 (gcc tdm64-1 5.1.0) 안나오던데요. 에러 메시지가 정확히 뭐였나요?

dlsxor48   7년 전

VS에서는 문제없이 돌아갑니다. 채점 결과가 '컴파일에러'로 나오네요..ㅠ

말씀해주신 부분 중 'stoi()'함수를 'stoll()'로 바꾸고 채점해봤으나 역시 '컴파일에러' 로 판정되네요..ㅜㅜ 그럼 ReverseString 함수가 문제인걸까요..?

ps. 0이 아닌 숫자를 변환한 2진수 값들 중 맨 앞 부분에 나오는 0을 제외시켜주려고 string을 int형으로 변환했습니다.

indioindio   7년 전

컴파일에러는 클릭하시면 원인을 알 수 있습니다. -> https://www.acmicpc.net/ceinfo/3380401

stoi는 c++11에서 나온 기능이라 채점할 때 c++11을 고르시면 될 것 같네요.

dlsxor48   7년 전

원인이 나오는군요 ㅎㅎ 좋은 정보 감사합니다~

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