boffin   5년 전

조합으로 인덱스 2개를 뽑아 뽑은 인덱스들을 기준으로 문자열 순서를 바꾸고 비교해서 결과를 내도록 했습니다.

예제의 경우엔 올바르게 나오는데 코드 제출시 틀렸습니다 라고 결과가 나오네요 ㅠㅠ

어디서 잘못된 걸까요 ㅠㅠ

그리고 벡터는 주소값으로 참조할 방법이 없나요? 일반 배열처럼? 벡터는 strcmp()함수 인자로 들어가지 않아서 여쭤봅니당!

Green55   5년 전

일단 #include"stdafx.h" 는 VS에서만 사용되는 비표준 문법이기 때문에 컴파일 에러가 뜨셨을겁니다.

그 부분을 지우고 예제를 돌려봐도, 백준의 채점 환경에서는 zzzzzzz 가 출력됩니다. 아마 VS에서는 제대로 출력이 되셨을겁니다.

strcmp는 c++표준에서, 후자가 사전순으로 앞설 때 양수를 리턴하게 되있습니다.

VS에서는 이 때 1을 리턴하지만, 백준에서 사용하는 G++에서는 1이 아닌 다른 양수를 리턴합니다.

코딩 할 때 특히 채점 환경과 다른 컴파일러를 사용하실꺼면 더욱더 C++ 표준을 정확하게 지키셔야합니다.

만약 테스트 해보고 싶으시다면 wandbox.org나 ideone.com 등의 사이트를 추천드립니다. 백준과 비슷한 채점 환경에서 컴파일 하실 수 있습니다.

boffin   5년 전

답변 정말 감사드립니다!!!!!

if(strtmp()>0)로 바꿔서 제출하니 맞았다고 나오네요!!

정말 큰거 하나 배워가요!! 표준!!! 표준에 대해선 생각도 안해봤는데..정말 감사해요!!

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