[프로그래머스] 겹치는 선분의 길이

2026. 3. 10. 15:40·Algorithm

문제

 

풀이

def solution(lines):

	#lines의 요소들의 최소값, 최대값 도출
    max_val = max(max(line) for line in lines)
    min_val = min(min(line) for line in lines)
    
    #수직선 그리기(0을 가진 배열로 초기화), 길이는 최대값 - 최소값 + 1
    n = max_val - min_val + 1
	res_line = [0] * n
    cnt = 0
    
    #선분들을 그린다 -> 배열의 값을 올린다
    for line in lines :
        for i in range(line[0], line[1]) :
            res_line[i - min_val] += 1
           
    #2 이상인 경우 : 겹쳐있음
    for a in res_line : 
        if a >= 2 :
            cnt += 1
    
    return cnt

 

- 문제를 처음 보았을 때, 수직선을 그릴 생각을 하였지만, 인덱스에 음수는 존재하지 않기에 어떻게 정의할지 고민을 했다.

- "음수 인덱스를 허용하지 않으면, 양수로 수직선을 이동시키자" 라고 생각했고, 수직선의 길이를 정한 후 각각의 인덱스에 min_val값을 빼주어 중앙 기준으로 인덱싱을 다시 진행하였다.

- 선분을 그린다 = 배열에 값을 더한다, 즉 1씩 더하는 과정을 색칠한다고 생각하기로 했다

- 두 번 이상 색칠된 곳들이 겹치는 범위이다. 즉 값이 2 이상인 곳들에서 cnt += 1 을 진행해 겹치는 선분의 길이를 측정했다.

 

※Github

 

https://github.com/jaeheonki/BackJoon-Programmers/tree/main/%ED%94%84%EB%A1%9C%EA%B7%B8%EB%9E%98%EB%A8%B8%EC%8A%A4/0/120876.%E2%80%85%EA%B2%B9%EC%B9%98%EB%8A%94%E2%80%85%EC%84%A0%EB%B6%84%EC%9D%98%E2%80%85%EA%B8%B8%EC%9D%B4

'Algorithm' 카테고리의 다른 글

[프로그래머스] 둘만의 암호  (1) 2026.03.16
[프로그래머스] 옹알이(1)  (1) 2026.03.10
[프로그래머스] 평행  (0) 2026.03.10
[LeetCode] 2327. Number of People Aware of a Secret  (0) 2026.03.03
[LeetCode] 92 - Reverse Linked List 2  (1) 2026.03.03
'Algorithm' 카테고리의 다른 글
  • [프로그래머스] 둘만의 암호
  • [프로그래머스] 옹알이(1)
  • [프로그래머스] 평행
  • [LeetCode] 2327. Number of People Aware of a Secret
uj07096
uj07096
개발블로그 시작 !
  • uj07096
    김재헌 님의 블로그
    uj07096
  • 전체
    오늘
    어제
    • 분류 전체보기 N
      • Algorithm
      • My IT
        • Article
        • Codes
      • TIL
      • My Projects N
  • 블로그 메뉴

    • 홈
    • 태그
    • 방명록
  • 링크

  • 공지사항

  • 인기 글

  • 태그

    데이터전처리
    transfer learning
    YOLO
    python
    kaggle
    PyTorch
    Faster R-CNN
    코딩테스트
    ResNet
    AI
    EfficientNet
    til
    autoencoder
    Algorithm
    머신러닝
    딥러닝
    DeepLearning
    GAN
    프로그래머스
    DenseNet
    convolution
    LeetCode
    파이썬
    코테
    LSTM
    Tensor
    이상치
    Stack
    EDA
    optuna
  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.6
uj07096
[프로그래머스] 겹치는 선분의 길이
상단으로

티스토리툴바