https://programmers.co.kr/learn/courses/30/lessons/12987
왜 3단계에 있지 하는 문제
A의 각 값들을 최소한의 차이로 이기도록 B의 사람을 내보내고 숫자를 세면 끝나는데
A [5,1,3,7], B [2,2,6,8]
우선 두배열을 정렬한다.
A[1, 3, 5, 7], B[2, 2, 6, 8]
앞에서 부터 비교를 하는데
B의 값이 큰 경우 점수 1점 획득 및 다음 A 와 비교하도록 aIndex++; 하면 끝이다.
ps
해당 과정에서 두 인덱스 중 하다라고 끝에 도달하면 끝임
import java.util.Arrays;
// 프로그래머스 숫자 게임 문제
class NumberGame {
public int solution(int[] A, int[] B) {
Arrays.sort(A);
Arrays.sort(B);
int aIndex = 0;
int bIndex = 0;
int answer = 0;
while (aIndex != A.length && bIndex != B.length) {
if (A[aIndex] < B[bIndex]) {
answer++;
aIndex++;
}
bIndex++;
}
return answer;
}
}
'코딩 테스트 > 프로그래머스' 카테고리의 다른 글
프로그래머스 - 다트 게임 문제 (자바) (0) | 2021.06.18 |
---|---|
프로그래머스 - 110 옮기기 문제 (자바) (0) | 2021.06.15 |
프로그래머스 셔틀버스 문제 (자바) (0) | 2021.06.07 |
프로그래머스 - N개의 최소공배수 문제 (자바) (0) | 2021.06.06 |
프로그래머스 - 압축 문제 (자바) (0) | 2021.06.04 |