코딩테스트

알고리즘 문제풀이 3-3

Eprld 2025. 3. 19. 16:33

문제 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