🌷🌼λͺ¨μ—¬λ΄μš” 개발의숲🌷🌼

[JAVA/μ½”λ”©ν…ŒμŠ€νŠΈ] κ²°ν˜Όμ‹ λ³Έλ¬Έ

개발/μ•Œκ³ λ¦¬μ¦˜ λ¬Έμ œν’€μ΄ JAVA

[JAVA/μ½”λ”©ν…ŒμŠ€νŠΈ] κ²°ν˜Όμ‹

μš”μΌμ΄ 2022. 2. 14. 00:44
λ°˜μ‘ν˜•
μ„€λͺ…

ν˜„μˆ˜λŠ” λ‹€μŒ 달에 κ²°ν˜Όμ„ ν•©λ‹ˆλ‹€.

ν˜„μˆ˜λŠ” κ²°ν˜Όμ‹ ν”Όλ‘œμ—°μ„ μž₯μ†Œλ₯Ό 빌렀 3일간 쉬지 μ•Šκ³  ν•˜λ €κ³  ν•©λ‹ˆλ‹€.

ν”Όλ‘œμ—°μ— μ°Έμ„ν•˜λŠ” μΉœκ΅¬λ“€ Nλͺ…μ˜ μ°Έμ„ν•˜λŠ” μ‹œκ°„μ •λ³΄λ₯Ό ν˜„μˆ˜λŠ” μΉœκ΅¬λ“€μ—κ²Œ 미리 μš”κ΅¬ν–ˆμŠ΅λ‹ˆλ‹€.

각 μΉœκ΅¬λ“€μ€ μžμ‹ μ΄ λͺ‡ μ‹œμ— λ„μ°©ν•΄μ„œ λͺ‡ μ‹œμ— λ– λ‚  것인지 ν˜„μˆ˜μ—κ²Œ μ•Œλ €μ£Όμ—ˆμŠ΅λ‹ˆλ‹€.

ν˜„μˆ˜λŠ” 이 정보λ₯Ό λ°”νƒ•μœΌλ‘œ ν”Όλ‘œμ—° μž₯μ†Œμ— λ™μ‹œμ— μ‘΄μž¬ν•˜λŠ” μ΅œλŒ€ μΈμ›μˆ˜λ₯Ό κ΅¬ν•˜μ—¬ κ·Έ 인원을 μˆ˜μš©ν•  수 μžˆλŠ” μž₯μ†Œλ₯Ό 빌리렀고 ν•©λ‹ˆλ‹€. μ—¬λŸ¬λΆ„μ΄ ν˜„μˆ˜λ₯Ό λ„μ™€μ£Όμ„Έμš”.

λ§Œμ•½ ν•œ μΉœκ΅¬κ°€ μ˜€λŠ” μ‹œκ°„ 13, κ°€λŠ”μ‹œκ°„ 15라면 이 μΉœκ΅¬λŠ” 13μ‹œ 정각에 ν”Όλ‘œμ—° μž₯에 μ‘΄μž¬ν•˜λŠ” 것이고 15μ‹œ μ •κ°μ—λŠ” μ‘΄μž¬ν•˜μ§€ μ•ŠλŠ”λ‹€κ³  κ°€μ •ν•©λ‹ˆλ‹€.

 

μž…λ ₯

첫째 쀄에 ν”Όλ‘œμ—°μ— 참석할 μΈμ›μˆ˜ N(5<=N<=100,000)이 μ£Όμ–΄μ§‘λ‹ˆλ‹€.

두 번째 쀄뢀터 N쀄에 걸쳐 각 μΈμ›μ˜ μ˜€λŠ” μ‹œκ°„κ³Ό κ°€λŠ” μ‹œκ°„μ΄ μ£Όμ–΄μ§‘λ‹ˆλ‹€.

μ‹œκ°„μ€ 첫날 0μ‹œλ₯Ό 0으둜 ν•΄μ„œ λ§ˆμ§€λ§‰λ‚  λ°€ 12μ‹œλ₯Ό 72둜 ν•˜λŠ” νƒ€μž„λΌμΈμœΌλ‘œ μ˜€λŠ” μ‹œκ°„κ³Ό κ°€λŠ” μ‹œκ°„μ΄ 음이 μ•„λ‹Œ μ •μˆ˜λ‘œ ν‘œν˜„λ©λ‹ˆλ‹€.

 

좜λ ₯

첫째 쀄에 ν”Όλ‘œμ—°μž₯에 λ™μ‹œμ— μ‘΄μž¬ν•˜λŠ” μ΅œλŒ€ 인원을 좜λ ₯ν•˜μ„Έμš”.

 

μ˜ˆμ‹œ μž…λ ₯ 1

5
14 18
12 15
15 20
20 30
5 14

 

μ˜ˆμ‹œ 좜λ ₯ 1

2

 

 

 

import java.util.*;

class Time implements Comparable<Time>{

    public int time;
    public char state;

    Time(int time, char state){
        this.time = time;
        this.state = state;
    }

    @Override
    public int compareTo(Time o){
        if(this.time == o.time){
            return this.state - o.state;
        }else{
            return this.time - o.time;
        }
    }

}


public class Main {

    public int solution(ArrayList<Time> time) {

        int result = 0;
        int tmp = 0;

        for(int i=0; i<time.size(); i++){

            if(time.get(i).state == 'e'){
                tmp --;
            }else{
                tmp ++;
            }

            if(result<tmp){
                result=tmp;
            }

        }

        return result;
    }

    public static void main(String[] args) {

        Main main = new Main();
        Scanner kb = new Scanner(System.in);

        int n = kb.nextInt();

        ArrayList<Time> time = new ArrayList<>();

        for(int i=0; i<n; i++){
            Time tmp = new Time(kb.nextInt(), 's');
            time.add(tmp);
            tmp = new Time(kb.nextInt(), 'e');
            time.add(tmp);
        }

        Collections.sort(time);

        System.out.println(main.solution(time));
    }

}
Comments