LeetCode - 2206. Divide Array Into Equal Pairs

2025. 3. 17. 12:25·Algorithm

문제링크

 

문제 설명

정수 배열 nums가 주어집니다. nums는 2 * n 개의 정수로 이루어져 있습니다.

다음 조건을 만족하도록 nums를 n개의 짝(pair) 으로 나누어야 합니다:

  1. 각 요소는 정확히 한 개의 쌍(pair)에만 포함되어야 합니다.
  2. 각 쌍의 두 요소는 서로 같아야 합니다.

만약 nums를 이러한 방식으로 n개의 쌍으로 나눌 수 있다면 true를 반환하고, 그렇지 않다면 false를 반환하세요.

제한 사항

  • nums.length == 2 * n
  • 1 <= n <= 500
  • 1 <= nums[i] <= 500

예시

Example 1:

Input: nums = [3,2,3,2,2,2]
Output: true
Explanation: 
There are 6 elements in nums, so they should be divided into 6 / 2 = 3 pairs.
If nums is divided into the pairs (2, 2), (3, 3), and (2, 2), it will satisfy all the conditions.

 

Example 2:

Input: nums = [1,2,3,4]
Output: false
Explanation: 
There is no way to divide nums into 4 / 2 = 2 pairs such that the pairs satisfy every condition.

풀이 흐름

  • 문제와 예제를 읽어보면 결국 요구하는 것은 각 숫자들의 갯수가 짝수인지를 물어보는 것입니다.
  • nums의 범위가 1부터 500까지이기 때문에 counts라는 배열을 선언해서 각 숫자의 개수를 기록했습니다.
  • 숫자의 개수를 다 기록한 뒤 counts를 돌면서 만약 홀수인 숫자가 존재하면 바로 false를 반환하고 전체를 다 돌아도 홀수가 없으면 true를 반환하도록 구현했습니다.

코드

class Solution {
    public boolean divideArray(int[] nums) {
        int[] counts = new int[501];
        for (int num : nums) {
            counts[num]++;
        }
        for (int count : counts) {
            if (count % 2 == 1) return false;
        }
        return true;
    }
}

'Algorithm' 카테고리의 다른 글

LeetCode - 3169. Count Days Without Meetings  (0) 2025.03.24
브루트포스 (완전 탐색) 알고리즘  (0) 2025.03.23
백준 - 16207: 직사각형  (0) 2025.03.14
LeetCode - 1358. Number of Substrings Containing All Three Characters  (1) 2025.03.11
LeetCode - 3208. Alternating Groups II  (1) 2025.03.09
'Algorithm' 카테고리의 다른 글
  • LeetCode - 3169. Count Days Without Meetings
  • 브루트포스 (완전 탐색) 알고리즘
  • 백준 - 16207: 직사각형
  • LeetCode - 1358. Number of Substrings Containing All Three Characters
ggio
ggio
개발 공부를 하며 배운 내용을 기록합니다.
  • ggio
    기록을 하자
    ggio
  • 전체
    오늘
    어제
    • 분류 전체보기 (41)
      • SW마에스트로 (5)
      • System Architecture (8)
      • Algorithm (15)
      • Side Tech Notes (7)
      • CS (5)
      • 취준 (1)
  • 블로그 메뉴

    • 홈
    • 태그
    • 방명록
  • 링크

  • 공지사항

  • 인기 글

  • 태그

    리트코드
    Programming
    코딩테스트
    다중화
    분산락
    부트캠프
    비관락
    리액터 패턴
    객체지향
    Algorithm
    멀티 코어
    SW마에스트로
    토스 NEXT
    시스템 아키텍쳐
    소프트웨어 마에스트로
    알고리즘
    3PC
    at-least-once
    fail back
    매일메일
    코테
    지리적 분산
    시스템 설계
    leetcode
    ha 아키텍처
    메시지 큐
    프로액터 패턴
    fail over
    프로그래밍
    소마
  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.3
ggio
LeetCode - 2206. Divide Array Into Equal Pairs
상단으로

티스토리툴바