allgoodlife   7년 전

안녕하세요 4673번 두번째 시도에 셀프 넘버를 풀어서 성공하긴했는데

제 첫번째 시도에서는 왜 accept이 안뜨는지 궁금합니다.


아래 어떤분께서 질문에 대한 답을 올려주셨듯이

아래의 경우에는 배열크기를 10001로

9+9+9+9 = 10035보다 작게 잡아서 배열 오버플로우로 인한 런타임오류가 발생할 수 있는건 이해가 되는데,

아래 제 코드로 visual studio2013 community에서 돌려보면 정답일때랑(배열크기를 넉넉하게 잡아줬을 때랑) 답은 똑같이 나옵니다.

1) 아래코드로 런타임 오류가 아닌 '틀렸습니다'가 뜨는 이유가 궁금합니다.

2) 다음으로 컴파일러에 대한 질문입니다. 보통 C++로 해놓고 문제를 풀었는데 stoi(), to_string()과 같은 string관련 함수에서 컴파일에러가 떠서 C++11로 바꾸었습니다. 요즘은 C+11으로 대부분 넘어간건가요??? Visual Studio 2013 community의 경우 C++11이 내장되어있어서 오류가 안나는건지 궁금합니다~~

유저분들의 의견에 항상 감사드립니다.

gallopsys   7년 전

첫 번째 올려주신 코드로 WA를 받은 건 확실히 이상하긴 하네요..

제 경우에도 배열의 길이를 10001까지 잡고 풀었는데 AC를 받았습니다.


두 번째 컴파일러에 관해서 문의하신 내용에서 stoi와 to_string 모두 C++ 11년도 표준안에서 새롭게 정의된 함수라 C++(03년도 이전 표준안)에선 지원되지 않으므로 컴파일 에러를 받은 거라고 볼 수 있습니다.


각각 stoi와 to_string에 대한 레퍼런스 자료도 혹시 모르니 첨부해봅니다.

stoi: http://www.cplusplus.com/reference/string/stoi/

to_string: http://www.cplusplus.com/reference/string/to_strin...

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