구현 - BOJ 2979 트럭 주차

LEE ·2023년 7월 27일
0

알고리즘 기출문제

목록 보기
56/60
post-thumbnail

문제 :

예제 입력 :

코드 :

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.StringTokenizer;

public class BOJ2979 {

    public static void main(String[] args) throws IOException {

        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
        StringTokenizer st = new StringTokenizer(br.readLine());
        int[] arr = new int[101];
        int[] score = new int[4];

        int min = 100, max = 0, sum = 0;

        for(int i = 1 ; i <= 3; i ++){
            score[i] = Integer.parseInt(st.nextToken());
        }


        for(int i = 0 ; i < 3 ; i ++){
            st = new StringTokenizer(br.readLine());
            int start = Integer.parseInt(st.nextToken());
            int end = Integer.parseInt(st.nextToken());
            min = Math.min(min, start); //가장 빨리 시작하는 시간
            max = Math.max(max, end); //가장 늦게 끝나는 시간
            for(int j = start; j < end; j++){
                arr[j] += 1;
            }
        }

        for(int i = min; i < max; i++){
            switch(arr[i]){
                case 1:
                    sum += score[1]*arr[i];
                    break;
                case 2:
                    sum += score[2]*arr[i];
                    break;
                case 3:
                    sum += score[3]*arr[i];
                    break;
            }
        }

        System.out.println(sum);
    }
}

문제풀이 :

이 문제의 핵심은 입력 된 값을 토대로 그 시간대에 몇대의 차가 들어와 있는지를 확인하면 된다.
문젬나 보고 입력값들이 각각 의 트럭이 있던 시간 대인지를 파악을 못해서 시간이 걸렸던 것 같다.

구현하는 것은 비교적 간단한 문제

0개의 댓글

관련 채용 정보