우당탕탕 개발일지
[프로그래머스] 숫자게임(Java, Level.3) 본문
반응형
문제
각 팀별로 한명씩 나와서 숫자가 더 큰 쪽이 승리하는 게임
A팀은 출전 순서를 정해였고 B팀은 그 순서를 알고 있다.
이때 B팀이 얻을 수 있는 최고점은 몇점입니까?
입출력 예

풀이
A와 B 배열 모두 오름차순 정렬하였다
B의 최고점을 구하기 때문에 B가 더 클 경우에만 A, B 배열 모두 다음 인덱스를 비교하도록 하였다.
또한 B가 승리하였기에 결과 값에 1를 더하였다.
B가 A보다 작거나 같을 경우네는 B 배열만 다음 인덱스를 비교하도록 하였다.
A보다 B가 더 큰 경우가 많을 경우을 찾기 때문이다.
B의 다음 인덱스 값과 A는 이전과 동일한 인덱스 값으로 비교한다.
해당 과정은 배열의 길이만큼 진행한다.
출전의 횟수는 각 팀의 인원수 만큼이기 때문이다.
최종 코드
public int s4(int[] A, int[] B) {
System.out.println("숫자게임");
int answer = 0;
Arrays.sort(A);
Arrays.sort(B);
int a = 0;
int b = 0;
for (int i = 0; i < A.length; i++) {
if (A[a] > B[b] || A[a] == B[b]) {
b++;
} else {
b++;
a++;
answer++;
}
}
return answer;
}
프로그래머스 문제
https://school.programmers.co.kr/learn/courses/30/lessons/43162
프로그래머스
코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.
programmers.co.kr
반응형
'코테 > 프로그래머스' 카테고리의 다른 글
[프로그래머스] 입국심사(Java, Level.3) (0) | 2024.04.08 |
---|---|
[프로그래머스] 보석 쇼핑(Java, Level.3) (0) | 2024.04.02 |
[프로그래머스] 최고의 집합(Java, Level.3) (0) | 2024.03.19 |
[프로그래머스] 야근지수 (Java, Level.3) (0) | 2024.03.14 |
[프로그래머스] 정수 삼각형(Java, Lv.3) (0) | 2024.03.12 |