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
- 객체
- 클래스
- 2022 플러터 안드로이드 스튜디오
- android retrofit login
- 스택 큐 차이
- 스택 자바 코드
- 안드로이드 유닛 테스트 예시
- 자바 다형성
- rxjava cold observable
- 안드로이드 라이선스 종류
- 서비스 vs 쓰레드
- 큐 자바 코드
- jvm 작동 원리
- ar vr 차이
- 2022 플러터 설치
- 멤버변수
- 안드로이드 유닛 테스트
- 안드로이드 유닛테스트란
- 서비스 쓰레드 차이
- rxjava disposable
- 플러터 설치 2022
- jvm이란
- 안드로이드 레트로핏 crud
- android ar 개발
- Rxjava Observable
- 안드로이드 라이선스
- ANR이란
- 안드로이드 os 구조
- rxjava hot observable
- 안드로이드 레트로핏 사용법
Archives
- Today
- Total
나만을 위한 블로그
[Algorithm] 프로그래머스 - 직사각형 넓이 구하기 (Kotlin) 본문
728x90
반응형
2차원 좌표 평면에 변이 축과 평행한 직사각형이 있다. 직사각형 네 꼭짓점의 좌표 [[x1, y1], [x2, y2], [x3, y3], [x4, y4]]가 담긴 배열 dots가 매개변수로 주어질 때, 직사각형의 넓이를 리턴하는 solution()을 완성하라
그림으로 어떤 값을 빼야 하는지는 알았지만 어떻게 그 값을 얻어내 계산해야 할지 감도 안 왔던 문제였다. 다른 사람의 풀이를 참고했다.
[프로그래머스/Java] Lv.0 직사각형 넓이 구하기
문제 풀이 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 import java.util.ArrayList; import java.util.HashSet; class Solution { //조건이 x축, y축과 평행한 직사각형이므로 x좌표와 y좌표는 각각 두개씩 publi
mycodingreview.tistory.com
class Solution {
fun solution(dots: Array<IntArray>): Int {
var answer = 0
val xc = HashSet<Int>()
for (i in 0..3) {
xc.add(dots[i][0])
}
val arr1 = ArrayList(xc)
val x1 = arr1[0]
val x2 = arr1[1]
val yc = HashSet<Int>()
for (i in 0..3) {
yc.add(dots[i][1])
}
val arr2 = ArrayList(yc)
val y1 = arr2[0]
val y2 = arr2[1]
answer = Math.abs((x1 - x2) * (y1 - y2))
return answer
}
}
이것을 간단하게 하면 아래처럼 된다.
class Solution {
fun solution(dots: Array<IntArray>): Int =
dots.sortedWith(compareBy<IntArray> { it[0] }.thenBy { it[1] })
.let { (A, _, _, B) ->
(B[0] - A[0]) * (B[1] - A[1])
}
}
class Solution {
fun solution(dots: Array<IntArray>): Int {
val coordX = dots.map { it[0] }.toSortedSet()
val coordY = dots.map { it[1] }.toSortedSet()
return (coordX.last() - coordX.first()) * (coordY.last() - coordY.first())
}
}
맨 위의 코드부터 차례대로 파악해야겠다.
반응형
'알고리즘 문제 풀이 > 프로그래머스' 카테고리의 다른 글
[Algorithm] 프로그래머스 - 최댓값 만들기 (2) (Kotlin) (0) | 2023.01.13 |
---|---|
[Algorithm] 프로그래머스 - 캐릭터의 좌표 (Kotlin) (0) | 2023.01.13 |
[Algorithm] 프로그래머스 - 머쓱이보다 키 큰 사람 (Kotlin) (0) | 2023.01.10 |
[Algorithm] 프로그래머스 - 중복된 숫자 개수 (Kotlin) (0) | 2023.01.10 |
[Algorithm] 프로그래머스 - 7의 개수 (Kotlin) (0) | 2023.01.10 |
Comments