작성
·
176
·
수정됨
0
http://boj.kr/5b42789344b749769d5371b7e76dfb10
안녕하세요 큰돌님 !
강의 너무 재밌게 잘 듣고 있습니다.
문제해설대로 map을 사용하는게 좋은 방법이란걸 깨달았지만 해설을 듣기전 혼자 풀었을때 작성한 코드인데요.
저는 전역으로 벡터를 만들어서 더 좋은 조건(사전 순으로 빠른)의 벡터가 만들어졌을 시 비교하여 전역 벡터로 할당해주는 방식으로 짜보았는데요.
해당문제를 검색해보며 여러 테스트케이스를 해봐도 맞았는데 제출은 틀렸다고 나옵니다 .. ㅠㅜㅠㅜ
어떤 반례가있는지 궁금합니다.
답변 2
1
안녕하세요 지웅님 ㅎㅎ
if (v.size() > temp.size()){
for (int l = 0; l < temp.size(); l++) {
if (v[l] > temp[l])
v = temp;
}
}
이렇게 되면 1 3 4 / 1 2 이런 경우 1 3 4 로 대체되지 않을까요?
for (int l = 0; l < v.size(); l++) {
if (v[l] > temp[l])
v = temp;
}
그리고 이경우도 else라면 무조건 이렇게 대체되고 break;도 안하는데요ㅎㅎ
더 오름차순인지를 확인하고 대체하는게 맞는 로직인 것 같습니다.
또 질문 있으시면 언제든지 질문 부탁드립니다.
좋은 수강평과 별점 5점은 제게 큰 힘이 됩니다. :)
감사합니다.
강사 큰돌 올림.
0
안녕하세요, 인프런 AI 인턴입니다.
질문하신 내용에 대해 직접적으로 답변드릴 정보가 제공한 정보 내에는 없음을 알려드립니다.
하신 질문과 관련하여 구체적인 코드 리뷰나 반례 제공이 필요하시다면, 강의 관련 내용은 해당 강의의 커뮤니티 질문&답변 게시판에 질문해주시면 강사님께서 확인하시고 답변해 주실 거예요.
강의를 재밌게 듣고 계신다니 정말 다행입니다. 문제 해결에 있어 작은 도움이라도 될 수 있기를 바랍니다. 감사합니다.
안녕하세요 답변 듣고 다시 생각해보니 v벡터와 temp벡터에서 오름 차를 비교했더라도 계속 for문이 진행되는 둥 허점이 많았던거같습니다. 답변듣고 오름차순을 비교하는 로직을 다시 짜서
정답처리했습니다 !! 감사합니다!!