작성 목적
- Kotlin 코드 작성중 toBin, toDec를 하게되어 작성
작성 방식
- toDec : (자릿수 * 자릿수에 해당하는 제곱값)을 더하는 방식으로 적용 (111 -> (2*2)*1 + (2)*1 + (1)*1)
- toBin : 숫자의 각 자릿값을 계산하여 1인경우 자릿수에 맞는 값을 곱하여 계산
소스코드
//10진수로 변환
fun toDec(bin: String): Int{
var result: Int = 0
var binNum: Int = bin.toInt()
var binCalc: Int = 2
var num: Int = 1
for (i in bin.indices){
if(binNum % 10 == 1){
result += (num * 1)
}
binNum /= 10
num *= binCalc
}
return result
}
//2진수로 변환
fun toBin(dec: Int): String{
var result: String = ""
var dec: Int = dec
while(dec != 0){
result = (dec % 2).toString() + result
dec /= 2
}
if(result == "")
result = "0"
return result
}
'Programming > Programming 알고리즘 연습' 카테고리의 다른 글
[Kotlin] 문자열 대소문자 변환 및 정렬 (0) | 2023.07.21 |
---|---|
Stack 직접 구현하기(Java) (0) | 2021.01.05 |
정수형태 문자열 변환(String->int, int->String) (0) | 2020.07.31 |
피보나치 수열(재귀O) (0) | 2020.07.29 |
피보나치 수열(재귀X) (0) | 2020.07.28 |