코딩 테스트/프로그래머스

Lv0. 겹치는 선분의 길이

  • -
728x90
반응형

문제 보기 :  겹치는 선분의 길이

 

프로그래머스

코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.

programmers.co.kr

 


문제

  • 정답률 : 59%


작성 코드

def solution(lines):
    answer = 0
    # lines.sort(key = lambda x:(x[0],x[1]))
    
    for i in range(len(lines)):
        lines[i] = [str(j)+'-'+str(j+1) for j in range(lines[i][0],lines[i][1])]
        
    intersect = []
    l1 = list(set(lines[0]) & set(lines[1]))
    if l1 != []:
        intersect.append(l1)
    l2 = list(set(lines[0]) & set(lines[2]))
    if l2 != []:
        intersect.append(l2)
    l3 = list(set(lines[1]) & set(lines[2]))
    if l3 != []:
        intersect.append(l3)
    
    if intersect == []:
        return 0
    elif len(intersect) == 1:
        return len(intersect[0])
    elif len(intersect) == 2:
        l4 = set(intersect[0]) | set(intersect[1])
        return len(l4)
    elif len(intersect) == 3:
        l4 = set(intersect[0]) | set(intersect[1])
        answer = l4 | set(intersect[2])
        return len(answer)
    
    return answer

풀이

해설 생략

320x100
728x90

'코딩 테스트 > 프로그래머스' 카테고리의 다른 글

Lv3. 단어 변환  (0) 2024.09.04
Lv2. 숫자 변환하기  (0) 2024.09.03
Lv2. 더 맵게  (0) 2024.09.02
Lv2. 뒤에 있는 큰 수 찾기  (0) 2024.09.01
Lv2. 땅따먹기  (0) 2024.08.31
Contents

포스팅 주소를 복사했습니다

이 글이 도움이 되었다면 공감 부탁드립니다.