Level. 0
문제
이진수를 의미하는 두 개의 문자열 bin1과 bin2가 매개변수로 주어질 때, 두 이진수의 합을 return하도록 solution 함수를 완성해주세요.
* 제한사항
- return 값은 이진수를 의미하는 문자열입니다.
- 1 ≤ bin1, bin2의 길이 ≤ 10
- bin1과 bin2는 0과 1로만 이루어져 있습니다.
- bin1과 bin2는 "0"을 제외하고 0으로 시작하지 않습니다.
풀이
class Solution {
public String solution(String bin1, String bin2) {
String answer = "";
int num = Integer.parseInt(bin1, 2) + Integer.parseInt(bin2, 2);
answer = Integer.toString(num, 2);
return answer;
}
}
Integer.parseInt() : 문자열 -> n진수 숫자
Integer.parseInt(String s, int radix)
- s : 숫자형의 문자열을 첫 번째 인자 값으로 받는다.
- radix : 변환할 진수값을 입력한다.
Integer.toString : 10진수 -> n진수문자열
Integer.toString(int n, int radix)
- 10진수를 n진수 문자열로 변환하여 리턴한다.
다른 풀이
class Solution {
public String solution(String bin1, String bin2) {
String answer = "";
int a = Integer.parseInt(bin1,2);
int b = Integer.parseInt(bin2,2);
answer = Integer.toBinaryString(a+b);
return answer;
}
}
10진수(Integer) -> 2진수, 8진수, 16진수(문자열)
- Integer.toBinaryString() : 2진수
- Integer.toOctalString() : 8진수
- Integer.toHexString() : 16진수
https://school.programmers.co.kr/learn/courses/30/lessons/120885?language=java
'Algorithm > Programers - Java' 카테고리의 다른 글
[프로그래머스(Java)] 두 개 뽑아서 더하기 / Set , Arrays.sort() (0) | 2023.08.05 |
---|---|
[프로그래머스(Java)] 리스트 자르기 / Arrays.copyOfRange (0) | 2023.08.05 |
[프로그래머스(Java)] 컨트롤 제트 / Stack String.split() (0) | 2023.07.29 |
[프로그래머스(Java)] 두 수의 합 / BigInteger (0) | 2023.07.29 |
[프로그래머스(Java)] 저주의 숫자 3 / String.contain() (0) | 2023.07.29 |