Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 |
Tags
- 소인수분해
- 합성수 찾기
- 평행
- 다항식 더하기
- flutter
- 프로그래머스
- OX퀴즈
- 저주의 숫자 3
- 분수의 덧셈
- 콜라츠 수열 만들기
- 코딩테스트
- 컨트롤제트
- 이차원 배열 대각선 순회하기
- 조건에 맞게 수열 변환하기 2
- Android Studio
- 무작위로 K개의 수 뽑기
- 등차수열의 특정한 항만 더하기
- 등수 매기기
- 최빈값 구하기
- 조건 문자열
- 문자열이 몇 번 등장하는지 세기
- programmers
- 왼쪽 오른쪽
- 수열과 구간 쿼리 2
Archives
- Today
- Total
지원연구소 공식 블로그
[PROGRAMMERS] 평행 (LV. 0) - Python 본문
[ 문제 ]
점 네 개의 좌표를 담은 이차원 배열 dots가 다음과 같이 매개변수로 주어집니다.
- [[x1, y1], [x2, y2], [x3, y3], [x4, y4]]
주어진 네 개의 점을 두 개씩 이었을 때, 두 직선이 평행이 되는 경우가 있으면 1을 없으면 0을 return 하도록 solution 함수를 완성해보세요.
[ 제한사항 ]
- dots의 길이 = 4
- dots의 원소는 [x, y] 형태이며 x, y는 정수입니다.
- 0 ≤ x, y ≤ 100
- 서로 다른 두개 이상의 점이 겹치는 경우는 없습니다.
- 두 직선이 겹치는 경우(일치하는 경우)에도 1을 return 해주세요.
- 임의의 두 점을 이은 직선이 x축 또는 y축과 평행한 경우는 주어지지 않습니다.
[ 입출력 예 ]
dots | result |
[[1, 4], [9, 2], [3, 8], [11, 6]] | 1 |
[[3, 5], [4, 1], [2, 4], [5, 10]] | 0 |
< 입출력 예 #1 >
- 점 [1, 4], [3, 8]을 잇고 [9, 2], [11, 6]를 이으면 두 선분은 평행합니다.
< 입출력 예 #2 >
- 점을 어떻게 연결해도 평행하지 않습니다.
[ 해결 방법 ]
1. 연결된 각 직선의 기울기를 담는 변수 line1과 상대 기울기를 담는 변수 line2 선언
2. i와 j를 통해 전에 선택된 선택인지 확인하고 선택된 선택이라면 continue로 건너뛰고 선택되지 않으면 line1에 기울기 할당
3. m과 n을 통해 반복하여 민희진이 선택한 코디 제외하고 나머지 두 수의 기울기를 line2에 저장하면서 반복 진행
4. 만약 line1과 line2가 같다면 1반환, 아니면 0반환
[ solution.py ]
def solution(dots):
answer = []
line1 = 0
line2 = 0
for i in dots:
for j in dots:
if i == j:
continue
else:
line1 = (i[1] - j[1]) / (i[0] - j[0])
for m in dots:
if m == i or m == j:
continue
for n in dots:
if n == m or n == i or n == j:
continue
else:
line2 = (m[1] - n[1]) / (m[0] - n[0])
if line1 == line2:
return 1
return 0
> 🌻피드백은 언제나 환영입니다🌻 <
'코딩테스트 > 프로그래머스' 카테고리의 다른 글
[PROGRAMMERS] 달리기 경주 (LV. 1) - Python (1) | 2024.06.08 |
---|---|
[PROGRAMMERS] 분수의 덧셈 (LV. 0) - Python (0) | 2024.05.02 |
[PROGRAMMERS] OX퀴즈 (LV. 0) - Python (0) | 2024.05.02 |
[PROGRAMMERS] 최빈값 구하기 (LV. 0) -Python (0) | 2024.05.02 |
[PROGRAMMERS] 다항식 더하기 (LV. 0) - Python (0) | 2024.05.02 |