작성
·
289
0
안녕하세요 선생님
제가 2910 예제는 다 맞는데, 3%에서 틀렸다고 뜹니다ㅜㅜ
혹시 이유를 알 수 있을까요?ㅠㅠㅠ
http://boj.kr/c1d9d1181254481589bb015bcf98568e
감사합니다
답변 1
0
안녕하세요 상목님 ㅎㅎ
코드의 로직 자체는 괜찮은데요.
(다만, 중간에 reverse를 넣으시면 새로운 vvvv를 쓰지 않고도 할 수 있겠죠? )
음 일단 이 코드는 unordered_set이 들어오는 순서 반대로 저장한다. 즉, 1, 2, 3이 들어오면 3, 2, 1이렇게 저장한다는 것을 가정하고 구축된 코드인 거 같습니다.
unordered_set<long long int> st;
그러나 unordered_set은 정렬되지 않은 성질을 가집니다. 데이터를 저장하는 순서가 지정되지 않습니다.
즉, 2 3 1 이렇게 들어오면 1, 3, 2로 들어오는 것은 보장되지 않습니다.
그렇기 때문에 틀린 거 같습니다.
제 생각에는 상목님이 어떤 블로그가 unordered_set이 들어오는 순서대로 정렬된다고 써놨던데 그걸 보시고 착각하신거 같아요.
그 블로그는 틀린 블로그구요..
제 교안에는 "정렬되지 않는다"고 명시되어 있으며 좋은 링크 하나 남깁니다. 참고해주세요 ㅎㅎ
https://www.geeksforgeeks.org/unordered_set-in-cpp-stl/
또 질문 있으시면 언제든지 질문 부탁드립니다.
좋은 수강평과 별점 5점은 제가 큰 힘이 됩니다. :)
감사합니다.
강사 큰돌 올림.