이렇게 설명 하나 없이 긴 코드는 아무도 읽을 엄두를 안 낼 것입니다. 적어도 어떻게 접근하셨는지 정도는 설명해 주세요.
그 이전에, 질문을 올릴 때 "아래 공지사항을 먼저 읽고 글을 작성해 주세요." 라는 말이 나오는데 읽으셨나요? 정말로 읽으셨으면 굵은 글씨로 작성된 이 문장도 읽으셨을 것입니다.
https://www.acmicpc.net/board/...
"질문 검색을 먼저 해서 자신에게 필요한 답변이나 반례가 없는지 확인하고 질문을 남겨주세요."
ikth6001 5년 전
1017번 소수쌍 문제 도전 중인데요 8%에서 계속 틀리는데 원인을 알 수 없습니다. 원인좀 알 수 있을까요??
답변 글을 보고 내용 추가합니다.
방법은 인터넷 검색을 통해 알게된 이분매칭 기법을 사용했습니다.
main에서는 입력값을 읽는 것이고, calculate 메소드에 실제 풀이 로직이 있습니다.
첫 번째 데이터인 data[0]을 기준으로 이분매칭에서 왼쪽에 해당하는 노드들을 결정합니다(data[0]이 짝수이면 짝수인 수들, 홀수이면 홀수인 수들).
이후엔 왼쪽에 있는 데이터와 오른쪽에 있는 데이터의 합을 통해 소수인 경우 adj라는 이분매칭에서 노드의 연결이 될 간선 정보들을 업데이트 합니다.
그 다음엔 DFS를 통한 이분매칭을 계산하고, 계산한 리턴 값 count가 실제 data길이의 반인 경우엔 첫번째 데이터인 data[0]의 다음 노드를 list에 넣어두고 마지막으로 정렬한 후 출력해줍니다.
질문을 너무 대충 올린것 같네요. 죄송합니다.