문제
이진수를 의미하는 두 개의 문자열 bin1과 bin2가 매개변수로 주어질 때, 두 이진수의 합을 return하도록 solution 함수를 완성해주세요.
제한사항
- return 값은 이진수를 의미하는 문자열입니다.
- 1 ≤ bin1, bin2의 길이 ≤ 10
- bin1과 bin2는 0과 1로만 이루어져 있습니다.
- bin1과 bin2는 "0"을 제외하고 0으로 시작하지 않습니다.
입출력 예
코드
class Solution {
fun solution(bin1: String, bin2: String): String {
return Integer.toBinaryString(Integer.parseInt(bin1, 2) + Integer.parseInt(bin2, 2))
}
}
처음엔 주어진 이진수를 십진수로 바꾸고 두 십진수를 더해서 다시 이진수를 바꾸는 코드를 짰다.
근데 메모리초과(?)인가 아무튼 테스트 케이스에서 계속 틀려서 다른 사람의 풀이를 참고했다.
코틀린에는 toBinaryString이라는 이진수로 바꾸어주는 함수가 있었다.
기억하고 싶은 부분
- Integer.parseInt(이진수, 2)
이진수를 이진수(2)로 해석해서 10진수로 변환한다.
- Integer.toBinaryString()
Integer.toBinaryString(이진수로 변환할 값)
https://school.programmers.co.kr/learn/courses/30/lessons/120885
'Algorithm > kotlin' 카테고리의 다른 글
[프로그래머스/Kotlin] 구슬을 나누는 경우의 수 (Lv. 0) (0) | 2024.02.13 |
---|---|
[프로그래머스/Kotlin] 공 던지기 (Lv. 0) (0) | 2024.02.13 |
[프로그래머스/Kotlin] 컨트롤 제트 (Lv. 0) (0) | 2024.02.13 |
[프로그래머스/Kotlin] 7의 개수 (Lv. 0) (0) | 2024.02.13 |
[프로그래머스/Kotlin] 한 번만 등장한 문자 (Lv. 0) (0) | 2024.02.13 |