728x90
반응형
프로그래머스
코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.
programmers.co.kr
"""
선분 3개가 평행하게 놓여 있습니다.
세 선분의 시작과 끝 좌표가 [[start, end], [start, end], [start, end]] 형태로
들어있는 2차원 배열 lines가 매개변수로 주어질 때,
두 개 이상의 선분이 겹치는 부분의 길이를 return 하도록 solution 함수를 완성해보세요.
"""
# 나는 다른 사람들과 다르게 접근을 이상하게 했다.
# 점과 점 사이에 0.5 부분을 체크하여 숫자를 세주는 방식으로 풀었다.
# 0.5의 소수를 표현하기 싫어서 *10을 해줘 for문을 돌렸다.
# 마지막으로 리턴을 해줄때는 0.5의 부분이 아닌 곳은 제외하고 더해주었다.
def solution(lines):
total = {}
for line in lines:
start, end = line
for i in range(start*10+5, end*10, 5):
if i in total.keys():
total[i] = 1
else:
total[i] = 0
return sum([v for k,v in total.items() if k%10!=0])728x90
반응형
'개발 > 문제풀이' 카테고리의 다른 글
| 프로그래머스 '최빈값 구하기' 파이썬 풀이 (0) | 2023.02.16 |
|---|---|
| 프로그래머스 '저주의 숫자 3' 파이썬 풀이 (0) | 2023.02.16 |
| 프로그래머스 '외계어 사전' 파이썬 풀이 (0) | 2023.02.15 |
| 프로그래머스 '진료순서 정하기' 파이썬 풀이 (0) | 2023.02.15 |
| 프로그래머스 'k의 개수' 파이썬 풀이 (0) | 2023.02.15 |
댓글