문제 1 / 격차
-목표 : 게임을 플레이한 N명의 학생들의 점수 중 가장 큰 점수와 가장 작은 점수의 차이를 반환하는 프로그램 구햔
문제 풀이
반복문을 이용하여 최댓값과 최소값을 구한 뒤 차를 반환하였다.
최종 코드
class Solution {
public int solution(int N, int[] scores) {
int answer = 0;
int max_score = Integer.MIN_VALUE;
int min_score = Integer.MAX_VALUE;
for(int i=0; i<N; i++){
if(scores[i] > max_score){
max_score = scores[i];
}
if(scores[i] < min_score){
min_score = scores[i];
}
}
return (max_score - min_score);
}
}
문제 2 / 미용실
-목표 : 한 명의 미용사가 받을 수 있는 손님으 수의 최댓값을 계산하는 프로그램 구
문제 풀이
종료 시간을 기준으로 정렬하여 손님의 종료 시간 이후에 시작하는 손님만을 선택해서 시작 시간이 이전 손님의 종료 시간보다 큭나 같으면 다음 손님을 받은 후 손님의 수를 증가시켜 값을 구하였다.
최종 코드
import java.util.Arrays;
import java.util.Comparator;
class Solution {
public int solution(int N, int[][] reserved) {
Arrays.sort(reserved, Comparator.comparingInt(a -> a[1]));
int answer = 0;
int last =-1;
for(int[] res : reserved){
int start = res[0];
int end = res[1];
if(start >= last){
answer++;
last = end;
}
}
return answer;
}
}
문제 3 / 벽 피하기
-목표 :
문제 풀이
최종 코드
'코딩테스트' 카테고리의 다른 글
알고리즘 문제풀이 3-5 (0) | 2025.03.21 |
---|---|
알고리즘 문제풀이 3-4 (0) | 2025.03.20 |
알고리즘 문제풀이 3-2 (0) | 2025.03.18 |
알고리즘 문제풀이 3-2 (0) | 2025.03.18 |
알고리즘 문제풀이 3-1 (0) | 2025.03.18 |