https://school.programmers.co.kr/learn/courses/30/lessons/77885
양의 정수 x에 대한 함수 f(x)를 다음과 같이 정의합니다.
예를 들어,
정수들이 담긴 배열 numbers가 매개변수로 주어집니다. numbers의 모든 수들에 대하여 각 수의 f 값을 배열에 차례대로 담아 return 하도록 solution 함수를 완성해주세요.
import (
"math"
"strconv"
)
func solution(numbers []int64) []int64 {
var result = make([]int64, len(numbers))
for i, n := range numbers {
if n%2 != 0 {
result[i] = n + int64(math.Pow(2, getMinimalNumberHasDifBits(n)-1))
} else {
result[i] = n + 1
}
}
return result
}
func getMinimalNumberHasDifBits(n int64) float64 {
var result float64
var binN = strconv.FormatInt(n, 2)
for i := len(binN) - 1; i >= 0; i-- {
if binN[i:i+1] == "0" {
break
}
result++
}
return result
}
[Programmers] Lv.1 체육복 (Go) (2) | 2022.11.15 |
---|---|
[Programmers] Lv.2 할인 행사 (Go) (0) | 2022.11.13 |
[Programmers] Lv.2 주차 요금 계산 (Go) (0) | 2022.11.09 |
[Programmers] Lv.1 푸드 파이트 대회 (Go) (0) | 2022.11.09 |
[Programmers] Lv.2 연속 부분 수열 합의 개수 (Go) (0) | 2022.11.08 |
댓글 영역