반응형
[프로그래머스] Java 코딩테스트 연습 -
문제 출처
https://school.programmers.co.kr/learn/courses/30/lessons/120885
문제
이진수를 의미하는 두 개의 문자열 bin1과 bin2가 매개변수로 주어질 때, 두 이진수의 합을 return하도록 solution함수를 완성해 주세요.
풀이
Integer.parseInt() 메서드가 String을 int로 변환할 때 사용하는 건 줄 알았는데 진수로 표현된 문자열을 정수로 변환할 때도 쓰인 다는 걸 처음 알았다.Integer.parseInt(x, y)의 형태로 사용하는데, x는 변환하려는 문자열(String), y는 해당 문자열이 어떤 진법(진수)로 표현되어 있는지를 나타낸다. 단, x는 y에 지정한 진법에 맞춰서 표현된 진수 문자열이여야 한다.
문제에서 bin1과 bin2는 2진수 문자열이므로 y자리에 2를 넣어줬다. 2진수 문자열을 각각 정수로 변환한 뒤 더해주고, Integer.toBinaryString()메서드로 더한 값을 다시 2진수 문자열로 변환한 뒤 return헀다.
소스코드
class Solution {
public String solution(String bin1, String bin2) {
int num1 = Integer.parseInt(bin1, 2);
int num2 = Integer.parseInt(bin2, 2);
int result = num1 + num2;
String answer = Integer.toBinaryString(result);
return answer;
}
}
반응형
'코딩테스트연습 > [프로그래머스] Java' 카테고리의 다른 글
[프로그래머스] Java 코딩테스트 연습 - 두 수의 합 (0) | 2023.08.16 |
---|---|
[프로그래머스] Java 코딩테스트 연습 - 한 번만 등장한 문자 (0) | 2023.08.10 |
[프로그래머스] Java 코딩테스트 연습 - 2의 영역 (0) | 2023.08.09 |
[프로그래머스] Java 코딩테스트 연습 - 가까운 수 (0) | 2023.08.08 |
[프로그래머스] Java 코딩테스트 연습 - 이차원 배열 대각선 순회하기 (0) | 2023.08.07 |