programmers/Lv 3

숫자 게임 [자바]

Meluu_ 2025. 2. 20. 10:45

 

🧫 문제 분석

✔️ 출처

숫자 게임 level 3

📖 문제

 

B팀은 A를 이길 수 있게 순서를 바꾼다. 

원소가 같다면 승점을 얻지 못한다. 

A팀에 원소에 맞게 B팀 원소를 바꾸면 된다. 

 

오랜만에 투 포인터 문제가 나왔다. 

A팀과 B팀을 오름차순 정렬한다. (어짜피 A팀은 순서가 있다 하더라도 B팀은 A팀에 이기도록 순서를 바꿀 것이기에 정렬해도 상관없음)

 

그리고 각각 원소를 비교해서 B가 더 크면 승점을 얻어주면 되는 간단한 문제이다. 


🔅 문제 풀이

import java.util.Arrays;

class Solution {
    // 승점만으로 답 판단, B팀은 순서를 바꿀 수 있음 
    public int solution(int[] A, int[] B) {
        int answer = 0;
        Arrays.sort(A);
        Arrays.sort(B);
        
        // 투 포인터를 쓰자
        
        int front = 0;
        int back = 0;

        while (front <= back 
               && back < B.length) {
             
            if (A[front] < B[back]) {
                front++;
                back++;
                answer++;
                
            } else if (A[front] >= B[back]) {
                back++;
            }
        }
                
        return answer;
    }
}

 

 

❗ 오답노트 / 필요한 지식

'programmers > Lv 3' 카테고리의 다른 글

기지국 설치 [자바]  (1) 2025.02.21
단속카메라 [자바]  (0) 2025.02.20
최고의 집합 [자바]  (0) 2025.02.20
단어 변환 [자바]  (0) 2025.02.19
야근 지수 [자바]  (0) 2025.02.19