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 | 29 | 30 | 31 |
Tags
- 안드로이드 레트로핏 crud
- 큐 자바 코드
- 자바 다형성
- jvm이란
- ar vr 차이
- 안드로이드 유닛 테스트 예시
- rxjava disposable
- 안드로이드 라이선스 종류
- ANR이란
- Rxjava Observable
- 서비스 쓰레드 차이
- 안드로이드 라이선스
- 객체
- jvm 작동 원리
- 2022 플러터 안드로이드 스튜디오
- 멤버변수
- 플러터 설치 2022
- 안드로이드 레트로핏 사용법
- 안드로이드 os 구조
- android ar 개발
- 서비스 vs 쓰레드
- 스택 자바 코드
- rxjava cold observable
- 스택 큐 차이
- 2022 플러터 설치
- 클래스
- android retrofit login
- rxjava hot observable
- 안드로이드 유닛 테스트
- 안드로이드 유닛테스트란
Archives
- Today
- Total
나만을 위한 블로그
[Algorithm] 프로그래머스 - 제곱수 판별하기 (Kotlin) 본문
728x90
반응형
어떤 자연수를 제곱했을 때 나오는 정수를 제곱수라 한다. 정수 n이 매개변수로 주어질 때 n이 제곱수면 1, 아니면 2를 리턴하는 solution()을 완성하라
Math 클래스의 sqrt()라는 메서드를 쓰면 되는 문제다. sqrt()는 아래와 같은 함수다.
https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.math/sqrt.html
sqrt - Kotlin Programming Language
kotlinlang.org
값 x(매개변수)의 양의 제곱근을 계산한다
이걸 써서 주먹구구식으로 푼 코드는 아래와 같다.
import kotlin.math.sqrt
class Solution {
fun solution(n: Int): Int {
var answer = 0
val sqrt = sqrt(n.toDouble())
answer = if (sqrt == sqrt.toInt().toDouble()) {
1
} else {
2
}
return answer
}
}
간단하게 줄이면 아래와 같아진다.
import kotlin.math.sqrt
class Solution {
fun solution(n: Int): Int {
val sqrt = sqrt(n.toDouble()).toLong()
return if (sqrt * sqrt == n.toLong()) 1 else 2
}
}
반응형
'알고리즘 문제 풀이 > 프로그래머스' 카테고리의 다른 글
[Algorithm] 프로그래머스 - 문자열 정렬하기(2) (Kotlin) (0) | 2023.01.10 |
---|---|
[Algorithm] 프로그래머스 - 세균 증식 (Kotlin) (0) | 2023.01.10 |
[Algorithm] 프로그래머스 - 문자열안에 문자열 (Kotlin) (0) | 2023.01.10 |
[Algorithm] 프로그래머스 - OX 퀴즈 (Kotlin) (0) | 2023.01.09 |
[Algorithm] 프로그래머스 - 자릿수 더하기 (Kotlin) (0) | 2023.01.09 |
Comments