-
프로그래머스 - 겹치는 선분의 길이알고리즘 2024. 4. 6. 00:52
class Solution { public int solution(int[][] lines) { int answer = 0; int[] cnt = new int[201]; // -100 ~ 100 for(int i = 0; i < lines.length; i++) { for(int j = lines[i][0] + 100; j < lines[i][1] + 100; j++) { cnt[j]++; } } for(int i = 0; i < cnt.length; i++) { if(cnt[i] > 1) answer++; } return answer; } }
선의 범위가 -100 ~ 100 까지이므로 0을 포함한 크기가 201인 배열을 만들어 입력 받은 선을 겹치게 하기 위한 선을 만들어 줍니다.
입력받은 각 선의 시작부터 끝까지 새롭게 만든 선위로 카운트를 세어주고 마지막에 카운트가 2이상인 선이 겹친 갯수를 세어 정답을 반환합니다.
'알고리즘' 카테고리의 다른 글
프로그래머스 - 최소 직사각형 (0) 2024.04.12 프로그래머스 - 시저 암호 (0) 2024.04.11 프로그래머스 - 최빈값 구하기 (1) 2024.04.06 프로그래머스 - 안전지대 (0) 2024.04.05 프로그래머스 - 다항식 더하기 (0) 2024.04.05