Deep_Lee
article thumbnail


lines์˜ ๊ธธ์ด๋Š” 3์œผ๋กœ ์ •ํ•ด์ ธ์žˆ๊ธฐ๋•Œ๋ฌธ์— ์„ ๋ถ„์€ ๋ฌด์กฐ๊ฑด ์ด 3๊ฐœ์ด๋‹ค.

๊ทธ๋ฆฌ๊ณ  ์ขŒํ‘œ๊ฐ€ ์•„๋‹Œ '๊ธธ์ด'๋งŒ ๊ตฌํ•˜๋Š” ๊ฒƒ์ด๊ธฐ๋•Œ๋ฌธ์—.. ๊ฒน์น˜๋Š” ๋ถ€๋ถ„์ด 2์ด์ƒ์ธ๋ถ€๋ถ„์„ countํ•ด์ฃผ๋ฉด ๋œ๋‹ค.

 

์ฒ˜์Œ์—๋Š”, ๋ฌธ์ž์—ด ํ˜น์€ ์ˆซ์ž๋กœ ๊ฐ๊ฐ์˜ lines๋ฅผ ์›์†Œ๋กœ ๋„ฃ๊ณ , ๊ฐ™์€ ์›์†Œ๊ฐ€ 2๊ฐœ ์ด์ƒ์”ฉ ์žˆ์œผ๋ฉด countํ•˜๋ฉด ๋ ๊นŒ ํ–ˆ๋”๋‹ˆ 

์ง„์งœ ์ด๋ ‡๊ฒŒ๋งŒ ์งœ๊ฒŒ๋˜๋ฉด ํšจ์œจ์ ์ด์ง€ ๋ชปํ•˜๋‹ค. ( ์•ˆ๋Œ์•„๊ฐˆ์ˆ˜๋„ )

 

๊ทธ ๋‹ค์Œ์€, ์ตœ๋นˆ๊ฐ’ ๊ตฌํ•˜๋“ฏ์ด ๋นˆ ๋ฐฐ์—ด์„ ํ•˜๋‚˜ ์ƒ์„ฑํ•ด์„œ, count๋œ index์˜ ์œ„์น˜๊ฐ€ 2์ด์ƒ์„ ๋ฝ‘์„๊นŒํ–ˆ๋”๋‹ˆ 

line ์›์†Œ๊ฐ€ ์Œ์ˆ˜๋„ ์žˆ์—ˆ๊ธฐ์— ์•ˆ๋ผ์„œ, ์˜ค๋žœ๋งŒ์— HashMap์„ ์ผ๋‹ค.

line ๋ฐฐ์—ด๋งˆ๋‹ค ์ตœ์†Œ๊ฐ’, ์ตœ๋Œ“๊ฐ’์„ ๊ตฌํ•ด์„œ map์— ๊ทธ๋Œ€๋กœ ์ถ”๊ฐ€ํ•ด์ฃผ๋ฉด ๋œ๋‹ค.

๊ทธ๋ฆฌ๊ณ  map์˜ value๊ฐ€ 2์ด์ƒ์ธ๊ฒƒ๋“ค์„ ๋ชจ๋‘ ๊ฒน์น˜๋Š” ๋ถ€๋ถ„ !

 

import java.util.*;
class Solution {
    public int solution(int[][] lines) {
       int answer = 0;
        HashMap<Integer, Integer> map=new HashMap<>();

        for(int[] line : lines){
            int min=Math.min(line[0],line[1]);
            int max=Math.max(line[0],line[1]);
            for(int i=min; i<max; i++){
                map.put(i,map.getOrDefault(i,0)+1);
            }
        }
        for(int x:map.values()) {
            if (x >= 2) answer++;
        }
        return answer;
    }
}