본문 바로가기
Coding Test/Java Coding Test

[프로그래머스 / 자바] - 2진수 더하기

by nam_ji 2024. 7. 23.

2진수 더하기

문제

  • 문자열 bin1과 bin2 가 매개변수로 주어집니다.
  • bin1과 bin2는 이진수로 문자열로 되어 있습니다.
  • 두 이진수의 합을 출력하는 문제입니다.
  • 입출력 예
    • bin1 bin2 result
      "10" "11" "101"
      "1001" "1111" "11000"


테스트 (인텔리제이)

  • 문자열을 Integer 클래스의 parseInt 메서드를 이용하여 2진수인 문자열을 정수로 변환해줍니다.
  • 변환해준 값을 더해주고 마지막으로 toBinaryString 메서드를 이용하여 더해준 값을 2진수 문자열로 변환하면 됩니다.
package com.namji.codingtest;

import ch.qos.logback.core.encoder.JsonEscapeUtil;

public class _2진수_더하기 {
  public static void main(String[] args) {
    /*
    문자열 bin1과 bin2 가 매개변수로 주어집니다.
    bin1과 bin2는 이진수로 문자열로 되어 있습니다.
    두 이진수의 합을 출력하는 문제입니다.

    입출력 예
    bin1	  bin2	  result
    "10"	  "11"	  "101"
    "1001"	"1111"	"11000"

    입출력 설명
    #1
    10 + 11 = 101 이므로 "101" 을 return합니다.
    #2
    1001 + 1111 = 11000 이므로 "11000"을 return합니다.
   */
    String bin1 = "10";
    String bin2 = "11";
    String s = Integer.toBinaryString(
        Integer.parseInt(bin1, 2) + 
          Integer.parseInt(bin2, 2)
    );
    System.out.println(s);
  }
}

프로그래머스 코드

class Solution {
    public String solution(String bin1, String bin2) {
        return Integer.toBinaryString(
            Integer.parseInt(bin1, 2) +
            Integer.parseInt(bin2, 2)
        );
    }
}