반응형
문제 정보는 아래 링크를 확인해주세요!
문제 접근 방법
- A의 대진표가 공개되어있다.
- B팀의 요소값이 A팀의 요소값보다 큰 값을 대진표로 정한다.
- B팀이 이긴 횟수를 반환하는게 최댓값이다.
- 이를 위해서는 A팀과 B팀을 차례로 정렬하고,
- B팀의 요소가 A팀의 요소를 이기면 결과값+1을 하고,
- 이기지 못하는 요소일 때는 B팀의 다음 요소를 비교해준다.
- 모든 요소에대한 비교를 마치면 결과값을 반환한다.
[소스 코드]
package algorithm.programmers;
import java.util.*;
/*
* 2018 summer/winter conding
* 숫자 게임
* */
public class Pro12987 {
public static int solution(int[] A, int[] B) {
Arrays.sort(A);//B가 승점을 얻는 대진표를 구하기 위해서 A와 B배열을 순차적으로 정렬
Arrays.sort(B);
int aidx = 0;//A의 인덱스 값
int bidx = 0;//B의 인덱스 값
int len = A.length;
int answer = 0;
while(true) {
if (bidx == len) break;
if (B[bidx] > A[aidx]) {
answer++;
aidx++;
bidx++;
} else {
bidx++;
}
}
return answer;
}
}
반응형
LIST
'알고리즘 > 연습문제' 카테고리의 다른 글
프로그래머스 - 영어 끝말잇기(feat. Java) (0) | 2020.05.11 |
---|---|
프로그래머스 - 점프와 순간이동(feat. Java) (0) | 2020.05.11 |
프로그래머스 - 기지국 설치 (feat. Java) (0) | 2020.05.11 |
프로그래머스 - 스티커 모으기(2) (feat. Java) (0) | 2020.05.11 |
프로그래머스 - 방문 길이 (feat. Java) (0) | 2020.05.11 |