관리 메뉴

나만을 위한 블로그

[Algorithm] 프로그래머스 - 이진수 더하기 (Kotlin) 본문

알고리즘 문제 풀이/프로그래머스

[Algorithm] 프로그래머스 - 이진수 더하기 (Kotlin)

참깨빵위에참깨빵_ 2023. 1. 31. 20:00
728x90
반응형
이진수를 의미하는 문자열 bin1, bin2가 주어질 때, 두 이진수의 합을 리턴하는 solution()을 완성하라

 

 

Integer 클래스의 함수인 parseInt()를 쓰면 간단하게 해결된다.

 

class Solution {
    fun solution(bin1: String, bin2: String): String =
        Integer.toBinaryString(Integer.parseInt(bin1, 2) + Integer.parseInt(bin2, 2))
}

 

parseInt()의 2번 인자로 2를 넣었는데 이것은 문자열을 몇진수로 바꿀 것인지 정하는 것이다. 8을 넣으면 "10"을 8진수로 바꾸고 16을 넣으면 "10"을 16진수로 바꿔준다.

그래서 parseInt()로 두 문자열의 2진수 값을 더한 뒤 toBinaryString()으로 문자열로 바꿔 리턴하면 된다.

 

parseInt() 말고 toInt() 안에 2를 넣어도 똑같은 결과가 나온다.

 

class Solution {
    fun solution(bin1: String, bin2: String): String =
        Integer.toBinaryString(bin1.toInt(2) + bin2.toInt(2))
}

 

그러나 실행 시간을 따졌을 경우 parseInt()가 toInt()보다 훨씬 빠르다.

 

parseInt()로 푼 경우
toInt()로 푼 경우

반응형
Comments