โฐ๋ฌธ์
์ด์ง์๋ฅผ ์๋ฏธํ๋ ๋ ๊ฐ์ ๋ฌธ์์ด bin1๊ณผ bin2๊ฐ ๋งค๊ฐ๋ณ์๋ก ์ฃผ์ด์ง ๋, ๋ ์ด์ง์์ ํฉ์ returnํ๋๋ก solution ํจ์๋ฅผ ์์ฑํด์ฃผ์ธ์.
์ ํ์ฌํญ
- return ๊ฐ์ ์ด์ง์๋ฅผ ์๋ฏธํ๋ ๋ฌธ์์ด์ ๋๋ค.
- 1 ≤ bin1, bin2์ ๊ธธ์ด ≤ 10
- bin1๊ณผ bin2๋ 0๊ณผ 1๋ก๋ง ์ด๋ฃจ์ด์ ธ ์์ต๋๋ค.
- bin1๊ณผ bin2๋ "0"์ ์ ์ธํ๊ณ 0์ผ๋ก ์์ํ์ง ์์ต๋๋ค.
์ ์ถ๋ ฅ ์
bin1 | bin2 | result |
"10" | "11" | "101" |
"1001" | "1111" | "11000" |
์ ์ถ๋ ฅ ์ ์ค๋ช
์ ์ถ๋ ฅ ์ #1
- 10 + 11 = 101 ์ด๋ฏ๋ก "101" ์ returnํฉ๋๋ค.
์ ์ถ๋ ฅ ์ #2
- 1001 + 1111 = 11000 ์ด๋ฏ๋ก "11000"์ returnํฉ๋๋ค.
๐กํ์ด
* POINT! Integer ํด๋์ค์ toBinaryString ํจ์๋ฅผ ์ฌ์ฉํ์ฌ ์ง์๋ฅผ ๋ณํํ๋ค!
1) 10์ง์๋ฅผ 2์ง์๋ก ๋ณํ ํ ๋,
Integer ํด๋์ค์ toBinaryString ํจ์๋ฅผ ์ฌ์ฉํ๋ฉด ํด๋น ์ซ์๋ฅผ 2์ง์๋ก ๋ณํํ ์ ์๋ค.
ex. Integer.toBinaryString(int i);
2) ๋ํ, 2์ง์๋ฅผ 10์ง์๋ก ๋ณํํ๊ธฐ ์ํด์๋,
Integer ํด๋์ค์ parseInt๋ฅผ ์ฌ์ฉํ์ฌ ๋ณํํ ์ ์๋ค.
ex. Integer.parseInt(String s, int n์ง์);
๋ฐ๋ผ์, ๋ฌธ์ ์์ String ํ์ ์ผ๋ก 2์ง์๋ฅผ ์ฃผ์ด์คฌ์ผ๋ฏ๋ก, ์๋ ์์๋๋ก ๋ณํํ๋ฉด ๋๋ค.
1. Integer.parseInt(bin1, 2) -> 2์ง์ํํ์ bin1์ 10์ง์๋ก ๋ณํ
2. Integer.parseInt(bin2, 2) -> 2์ง์ํํ์ bin2์ 10์ง์๋ก ๋ณํ
3. Integer.toBinaryString(A + B) -> 10์ง์ํํ์ A์ B๋ฅผ ๋ํ ๊ฐ์ 2์ง์๋ก ๋ณํ.
โญ์ ์ถ์ฝ๋
class Solution {
public String solution(String bin1, String bin2) {
String answer = "";
answer = Integer.toBinaryString(Integer.parseInt(bin1,2) + Integer.parseInt(bin2,2));
return answer;
}
}
2์ง์๋ฅผ 10์ง์๋ก, 10์ง์๋ฅผ 2์ง์๋ก ๋ฐ๊พธ๋ ํจ์๋ง ์์๋ค๋ฉด ์ฝ๊ฒ ํด๊ฒฐํ์ ๋ฌธ์ ์์ ๊ฒ ๊ฐ๋ค.
'๐ Algorithm > ํ๋ก๊ทธ๋๋จธ์ค' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[Programmers] ์น์์ด(2)(์๋ฐ) (0) | 2023.06.12 |
---|---|
[Programmers] ์ต์์ง์ฌ๊ฐํ(์๋ฐ) (0) | 2023.05.15 |
[Programmers] ์น์์ด(1)(์๋ฐ) (0) | 2023.04.24 |
[Programmers] ๋คํญ์ ๋ํ๊ธฐ(์๋ฐ) (0) | 2023.04.18 |
[Programmers] ์จ์ด์๋ ์ซ์์ ๋ง์ (2)(์๋ฐ) (0) | 2023.04.18 |