하루에 한 문제
[프로그래머스 Summer/Winter Coding(~2018)] 숫자게임 -Java 본문
https://programmers.co.kr/learn/courses/30/lessons/12987
import java.util.Arrays;
class Solution {
public int solution(int[] A, int[] B) {
int answer = 0;
Arrays.sort(A);
Arrays.sort(B);
int aIdx=0;
int bIdx=0;
int size=A.length;
while(true) {
if(A[aIdx]<B[bIdx]) {
answer++;
aIdx++;
bIdx++;
}
else bIdx++;
if(aIdx==size || bIdx==size) break;
}
return answer;
}
}
소요시간 : 10분
Lv3치고는 되게 간단한 문제입니다.
로직을 살펴보면
우선 배열 A,B를 정렬합니다.
5,1,3,7 -> 1,3,5,7
2,2,6,8 -> 2,2,6,8
A배열과 B배열의 인덱스를 각각 aIdx, bIdx 라고 지었습니다.
만약 A[aIdx]<B[bIdx] 라면 승점을 추가시키고, a,b 인덱스를 증가시킵니다.
만약 그 반대상황이라면 b의 인덱스만 증가시킵니다.
'알고리즘 > 프로그래머스' 카테고리의 다른 글
[프로그래머스 2018 KAKAO BLIND RECRUITMENT] 셔틀버스 -Java (0) | 2021.01.03 |
---|---|
[프로그래머스] 큰 수 만들기 -Java (1) | 2020.12.29 |
[프로그래머스] 멀리 뛰기 -Java (1) | 2020.12.29 |
[프로그래머스] 야근지수 -Java (0) | 2020.12.29 |
[프로그래머스] 등굣길 -Java (0) | 2020.12.28 |
Comments