🗒 문제

📝 나의 문제풀이
class Solution {
fun solution(n: Int): Int {
val sqrt = kotlin.math.sqrt(n.toDouble()).toInt()
return if(sqrt * sqrt == n) 1 else 2
}
}
🖊 문제 풀이 시 알면 좋을 것
문제 요약
정수 n이 주어질 때,
n이 제곱수이면1반환- 제곱수가 아니면
2반환
제곱수란?
어떤 자연수를 자기 자신과 곱해서 만들 수 있는 수
예시
12 × 12 = 144→ 제곱수31 × 31 = 961→ 제곱수10→ 제곱수 아님
n의 제곱근을 구한다- 제곱근을 정수로 변환한다
- 다시 제곱해서
n과 같으면 제곱수
sqrt란?
- sqrt는 square root의 줄임말
- 읽는 법: 스퀘어 루트
- 의미: 제곱근
sqrt(144) = 12
sqrt(10) = 3.162277...
kotlin.math.sqrt()
kotlin.math.sqrt(값)
역할
- 숫자의 제곱근을 Double 타입으로 반환
주의사항
- sqrt()는 Double 타입만 받을 수 있음
- 따라서 Int → Double 변환 필요
n.toDouble()
toInt()의 의미
sqrt(n.toDouble()).toInt()
- toInt()는 소수점 버림
- 반올림 아님
예시
3.9.toInt() // 3
3.1.toInt() // 3
즉,
sqrt(10) ≈ 3.16 → 3
반응형
'코딩테스트' 카테고리의 다른 글
| [프로그래머스] 암호 해독 (0) | 2025.12.21 |
|---|---|
| [프로그래머스] 문자열 정렬하기 (1) (0) | 2025.12.21 |
| [프로그래머스] 문자 반복 출력하기 (0) | 2025.12.19 |
| [프로그래머스] 아이스 아메리카노 (0) | 2025.12.19 |
| [프로그래머스] 열 원소의 길이 (0) | 2025.12.19 |