Notice
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
Tags
- 서비스 쓰레드 차이
- rxjava hot observable
- 안드로이드 라이선스
- jvm이란
- 2022 플러터 안드로이드 스튜디오
- 서비스 vs 쓰레드
- 클래스
- 안드로이드 라이선스 종류
- 객체
- 안드로이드 레트로핏 사용법
- rxjava disposable
- 안드로이드 os 구조
- 멤버변수
- 큐 자바 코드
- 자바 다형성
- 플러터 설치 2022
- 2022 플러터 설치
- ar vr 차이
- 안드로이드 유닛 테스트 예시
- android ar 개발
- 안드로이드 레트로핏 crud
- ANR이란
- 스택 자바 코드
- Rxjava Observable
- 안드로이드 유닛테스트란
- 스택 큐 차이
- android retrofit login
- 안드로이드 유닛 테스트
- jvm 작동 원리
- rxjava cold observable
Archives
- Today
- Total
나만을 위한 블로그
[Algorithm] 프로그래머스 - 평행 (Kotlin) 본문
728x90
반응형
점 4개의 좌표를 담은 2차원 배열 dots가 매개변수로 주어진다. 주어진 4개의 점을 2개씩 이었을 때, 두 직선이 평행이 되는 경우가 있으면 1, 없으면 0을 리턴하는 solution()을 완성하라
직선이 x축, y축과 평행한 경우는 없다는 조건을 보고 매개변수로 받은 숫자들을 하나씩 변수에 넣고 직선이 되는 값들끼리 뺀 값을 절대값으로 환산했을 때, 두 숫자가 같으면 1을 리턴하고 없으면 0을 리턴하는 식으로 풀면 되겠다 싶었다.
import kotlin.math.abs
class Solution {
fun solution(dots: Array<IntArray>): Int {
var answer = 0
val x1 = dots[0][0]
val y1 = dots[0][1]
val x2 = dots[1][0]
val y2 = dots[1][1]
val x3 = dots[2][0]
val y3 = dots[2][1]
val x4 = dots[3][0]
val y4 = dots[3][1]
if (abs((x1 - x2) * (y3 - y4)) == abs((y1 - y2) * (x3 - x4))) {
return 1
}
if (abs((x1 - x3) * (y2 - y4)) == abs((y1 - y3) * (x2 - x4))) {
return 1
}
if (abs((x1 - x4) * (y2 - y3)) == abs((y1 - y4) * (x2 - x3))) {
return 1
}
return 0
}
}
공책에 몇 번 그려가면서 삽질했는데 어떻게 풀리긴 풀렸다. 다른 사람은 아래처럼 풀었다.
https://velog.io/@jsj3282/%ED%94%84%EB%A1%9C%EA%B7%B8%EB%9E%98%EB%A8%B8%EC%8A%A4-%ED%8F%89%ED%96%89
프로그래머스 평행
점 네 개의 좌표를 담은 이차원 배열 dots가 다음과 같이 매개변수로 주어집니다.\[x1, y1, x2, y2, x3, y3, x4, y4]주어진 네 개의 점을 두 개씩 이었을 때, 두 직선이 평행이 되는 경우가 있으면 1을 없으
velog.io
class Solution {
fun solution(dots: Array<IntArray>): Int {
var answer = 0
val arr = ArrayList<Double>()
for (i in 0 until dots.size - 1) {
if (answer == 1) {
break
} else {
for (j in i + 1 until dots.size) {
val tmp = (dots[i][1] - dots[j][1]).toDouble() / (dots[i][0] - dots[j][0])
if (arr.contains(tmp)) {
answer = 1
break
} else {
arr.add(tmp)
}
}
}
}
return answer
}
}
반응형
'알고리즘 문제 풀이 > 프로그래머스' 카테고리의 다른 글
[Algorithm] 프로그래머스 - 유한소수 판별하기 (Kotlin) (0) | 2023.01.28 |
---|---|
[Algorithm] 프로그래머스 - 겹치는 선분의 길이 (Kotlin) (0) | 2023.01.28 |
[Algorithm] 프로그래머스 - 저주의 숫자 3 (Kotlin) (0) | 2023.01.27 |
[Algorithm] 프로그래머스 - 외계어 사전 (Kotlin) (0) | 2023.01.13 |
[Algorithm] 프로그래머스 - 삼각형의 완성조건 (2) (Kotlin) (0) | 2023.01.13 |
Comments