Skip to content

ã…BOJ 2143: 두 배열의 합#83

Open
sukangpunch wants to merge 1 commit intomainfrom
sukangpunch
Open

ã…BOJ 2143: 두 배열의 합#83
sukangpunch wants to merge 1 commit intomainfrom
sukangpunch

Conversation

@sukangpunch
Copy link
Copy Markdown
Contributor

문제 정보

풀이 방법

간단히 어떤 방식으로 풀었는지 설명해주세요.

 시간복잡도 : O(N^2)
요소에 음수가 있을 줄 몰라서 잘못 접근을 했다.
해결의 키 포인트는, 각 배열에사 나올 수 있는 부분배열 값들을 구한 뒤 오름차순 정렬(중복값은 Map으로 카운팅) 하는 것
정렬된 중복없는 A배열을 0부터, B배열을 B.size()-1 부터 탐색하여 두 합이 T가 되는지를 확인한다.
이 때, 각 배열의 Map 에서 해당 요소의 개수만큼 조합이 나오므로 aCount * bCount 결과를  result에 더한다.
오름 차순 정렬이므로,현재 A값 B값의 조합은 유일하므로, 둘다 left++, right-- 로 넘어간다.
 만약 T보다 크다면 right를 줄여서 작은 수로 더하고, T보다 작다면 left 를 증가시켜 더 큰 수를 더한다.
물론 A를 right 로 B를 left 로 두고 연산해도 문제 없음

체크리스트

  • 코드가 정상적으로 실행되나요?
  • 커밋 메시지가 컨벤션을 따르나요?
  • 파일명이 올바른가요? ({닉네임}.{확장자})

추가 코멘트

(선택사항) 추가로 공유하고 싶은 내용이 있다면 작성해주세요.

@github-actions github-actions bot added the 백준 백준 문제 label Mar 31, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

백준 백준 문제

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant