![[Java] 숫자 게임 - Lv3 프로그래머스 Summer/Winter Coding(~2018)](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FPPFm8%2Fbtr2ORUb0Sc%2FZTELmpFGA9s5Yi8hWca5R1%2Fimg.png)
[Java] 숫자 게임 - Lv3 프로그래머스 Summer/Winter Coding(~2018)코딩테스트/프로그래머스2023. 3. 9. 01:14
Table of Contents
728x90
728x90
https://school.programmers.co.kr/learn/courses/30/lessons/12987
프로그래머스
코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.
programmers.co.kr
풀이
각 사원별로 딱 한번씩 경기할 수 있고, B팀의 최대승점을 구해야 하고 B팀이 최대 승점을 얻기 위해서는 A팀의 낮은 수를 낮은 수로 매칭되게 해야하기 때문에 정렬 후 진행했고, 굳이 오름차순으로 한 이유는 어짜피 가장 낮은 A팀의 수를 아무도 이기지 못한다면 승점이 0점이기 때문이다. B팀도 마찬가지로 정렬 한 뒤에 서로 낮은 수 끼리 비교하여 최대한 승점을 올려주게 처리했다.
class Solution{
public int solution(int[] A, int[] B) {
Arrays.sort(A);
Arrays.sort(B);
int aIdx = 0;
int bIdx = 0;
int result = 0;
for (int i = 0; i < A.length; i++) {
if (A[aIdx] > B[bIdx]) {
bIdx++;
} else if (A[aIdx] == B[bIdx]) {
bIdx++;
} else {
aIdx++;
bIdx++;
result++;
}
}
return result;
}
}
여태 풀었던 3레벨 문제치고는 너무 쉬웠다.
728x90
300x250
@mag1c :: 꾸준히 재밌게
2023.04 ~ 백엔드 개발자의 기록
포스팅이 좋았다면 "좋아요❤️" 또는 "구독👍🏻" 해주세요!