해결된 질문
작성
·
70
·
수정됨
0
https://www.acmicpc.net/source/share/feaa43337ef8427293d0e4111b87b156
안녕하세요. 제가 작성한 코드가 통과되지 못하는 이유를 알고싶은데 음 접근 방식 부터가 잘못된거였을까요??
그리고 매번
큰돌님 코드 보기 전에 제가 스스로 문제 풀어봤을 때 너무 코드가 다르게 나오는데,
제가 스스로 풀 때 시도했던 코드도 통과시키려고 노력하기보다
큰돌님 코드로 연습하는 것이 더 효율적일까요?
제 코드를 통과시키려고 시간을 투자하는 것보다, 제 접근방식?은 버리고
그 시간에 큰돌님 코드로 반복 연습하고, 또 다른 문제를 푸는 게 좋을까요
답변 2
1
안녕하세요 ㅎㅎ
이문제를 계속해서 전체순회를 통해서 하는 생각은 괜찮지만
단어의 길이는 2와 100,000사이이며, 모든 단어 길이의 합은 1,000,000을 넘지 않는다.
문제 범위를 보시면 너무나도 시간복잡도가 큰 것을 알 수 있습니다.
이런 짝짓기 문제는 stack을 사용하는 것을 염두해두고 코드를 짜는게 좋습니다.
큰돌님 코드 보기 전에 제가 스스로 문제 풀어봤을 때 너무 코드가 다르게 나오는데,
-> 지금 단계는 실버 - 브론즈 수준이라고 생각합니다. 이수준은 알고리즘 개념자체가 아직 숙지가 안된 수준이니 알고리즘 개념을 " 아 모르는 구나". 하고 -> 제 코드들을 받아들이시면 됩니다.
제 코드를 통과시키려고 시간을 투자하는 것보다, 제 접근방식?은 버리고
-> 적당히는 투자하셔야 합니다. 실버 - 브론즈 문제는 30분정도는 고민할 필요가 있습니다. 이부분은 교안내에 서술했으니 참고부탁드립니다.
교안 : 1.16 알고리즘을 공부하는 자세.
고민 -> 시도 -> 제강의 및 코드 참고 공부 의 반복이라고 보시면 됩니다.
또 질문 있으시면 언제든지 질문 부탁드립니다.
좋은 수강평과 별점 5점은 제게 큰 힘이 됩니다. :)
감사합니다.
강사 큰돌 올림.
0
안녕하세요, 인프런 AI 인턴입니다. dbddml631님.
코드가 통과되지 않는 이유는 여러 가지가 있을 수 있습니다. 작성하신 코드에서 반례가 발생할 가능성이 있는 부분을 찾는 것이 중요합니다. 하지만 링크만으로 분석하기 어려운 경우, 대표적인 실패 원인은 다음과 같습니다:
큰돌님의 코드와 비교할 때, 본인의 코드가 다르게 나오는 것은 접근 방식의 차이일 수 있습니다. 큰돌님의 코드는 문제가 요구하는 해결 방법을 철저히 반영했을 가능성이 높으므로, 먼저 완전히 이해한 후 본인의 아이디어와 비교해 보시는 것이 좋습니다. 학습 초기에는 정답이 나오는 코드와 본인의 코드를 비교하며 차이를 이해하는 것이 많은 도움이 됩니다.
이와 관련하여 아래의 링크를 참고하시면 도움이 될 수 있습니다:
해당 답변들이 직접적으로 문제를 해결해주지는 않겠지만, 접근 방식을 어떻게 수정해야할지를 파악하고 개선하는데 도움을 줄 수 있습니다.
저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다.
현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏
추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.