JAVA_프로그래머스_겹치는 선분의 길이 풀이 class Solution { public int solution(int[][] lines) { int[] nums = new int[201]; int overlap = 0, cnt = 0, st = 0, end = 0; // 각 선분 입력 처리 for(int[] line : lines){ st = line[0] + 100; end = line[1] + 100; // 시작점 +1, 끝점 -1 (끝은 포함하지 않는 반열림 구간) nums[st]++; nums[end]--; } for(int i = 0; i < 200; i++){ // 200까지여야 1칸씩 계산됨 cnt += nums[i]; if(cnt >= 2) overlap++; // 두 개 이상 겹침 } return overlap; } } 특정 구간 값 체크, 시작 / 끝 값은 제외 해당 구간의 값이 2이상인 경우 체크 * 출처 https://school.programmers.co.k...
원문 링크 : JAVA_프로그래머스_겹치는 선분의 길이