Programmers | 코딩테스트 입문 - 겹치는 선분의 길이(자바)

2023. 4. 4. 15:22공부/Programmers

프로그래머스 Lv.0 겹치는 선분의 길이

 

 

JAVA

class Solution {
    public int solution(int[][] lines) {
        int answer = 0;
        int[] line = new int[200]; 	// -100<= a < b <= 100이므로 200 길이로 설정
        
        for(int[] arr : lines){
            for(int j=arr[0]+100; j<arr[1]+100; j++){
                line[j]++;
            }
        }
        
        for(int i : line){
            if(i > 1) answer++;
        }
        
        return answer;
    }
}

제한사항에 있는 -100 <= a < b <= 100를 통해 line 배열 길이를 200으로 설정하는게 키포인트인 것 같다.

 

a~b(마지막은 포함X) 사이를 지나갈 때마다 해당 배열의 원소 값을 +1씩하여 배열에 저장한 후,

값이 2이상인 경우(=2번 이상 겹친 부분)를 answer++하여 겹치는 선분의 길이를 구한다.