반응형
프로그래머스 약수의 개수와 덧셈을 Go로 풀어보겠다.
2022.08.17 - [Coding Test/JavaScript] - [프로그래머스] 약수의 개수와 덧셈 JavaScript Code
2022.08.17 - [Coding Test/C++] - [프로그래머스] 약수의 개수와 덧셈 C++ Code
2022.08.17 - [Coding Test/Python] - [프로그래머스] 약수의 개수와 덧셈 Python Code
다른 언어 풀이는 위 링크를 참고하길 바란다.
문제
구현
이전의 포스트들과 같이 for문으로 left부터 right까지 반복하며
약수의 개수가 홀수인 경우는 완전 제곱수이기 때문에
제곱수를 판별한 후
해당 숫자를 정답에서 빼거나 더한다.
코드
import "math"
func solution(left int, right int) int {
answer := 0
for i:= left; i<=right; i++{
sqrt := int(math.Sqrt(float64(i)))
if sqrt*sqrt == i {
answer -= i
} else {
answer += i
}
}
return answer
}
완전 제곱수를 판별한 방법은 위 코드와 같다.
루트를 취한 다음 int로 형 변환을 하고
Go에서는 형태를 맞춰야 하기 때문에
그 값을 제곱해서 int형태인 i과 비교했다.
결국, 루트 값이 정수인지 판별한 것임은 전 포스트들과 같다.
다른 풀이
이 풀이는 다른 괜찮은 풀이가 보이지 않아서 스킵하겠다.
다음 포스트에서는 JS로 풀어보겠다.
반응형
'Coding Test > Go' 카테고리의 다른 글
[프로그래머스] 2016년 Go Code (0) | 2022.08.20 |
---|---|
[프로그래머스] 성격 유형 검사하기 Go Code (0) | 2022.08.19 |
[프로그래머스] K번째수 Go Code (0) | 2022.08.16 |
[프로그래머스] 체육복 Go Code (0) | 2022.08.10 |
[프로그래머스] 없는 숫자 더하기 Go Code (0) | 2022.08.08 |
댓글