LeetCodeに毎日挑戦してみた 67. Add Binary(Python、Go)
はじめに
無料英単語サイトE-tanを運営中の@ishishowです。
プログラマとしての能力を上げるために毎日leetcodeに取り組み、自分なりの解き方を挙げていきたいと思います。
Leetcodeとは
leetcode.com
ソフトウェア開発職のコーディング面接の練習といえばこれらしいです。
合計1500問以上のコーデイング問題が投稿されていて、実際の面接でも同じ問題が出されることは多いらしいとのことです。
golang入門+アルゴリズム脳の強化のためにgoとPythonで解いていこうと思います。(Pythonは弱弱だが経験あり)
16問目(問題67)
67. Add Binary
問題内容
Given two binary strings
a
andb
, return their sum as a binary string.(日本語訳)
2つのバイナリ文字列
a
とが与えられた場合b
、それらの合計をバイナリ文字列として返します。
Example 1:
Input: a = "11", b = "1"
Output: "100"
Example 2:
Input: a = "1010", b = "1011"
Output: "10101"
考え方
二進数の文字列を十進数に変換します
十進数のまま数字を足して、最後に二進数の文字列に変換します。
- 解答コード
class Solution:
def addBinary(self, a, b):
return bin(int(a, 2) + int(b, 2))[2:]
- Goでも書いてみます!
import (
"fmt"
"math/big"
)
func addBinary(a string, b string) string {
var A, _ = new(big.Int).SetString(a, 2)
var B, _ = new(big.Int).SetString(b, 2)
return fmt.Sprintf("%b", new(big.Int).Add(A, B))
}
Author And Source
この問題について(LeetCodeに毎日挑戦してみた 67. Add Binary(Python、Go)), 我々は、より多くの情報をここで見つけました https://qiita.com/ishishow/items/f5f461523356a1ac9d03著者帰属:元の著者の情報は、元のURLに含まれています。著作権は原作者に属する。
Content is automatically searched and collected through network algorithms . If there is a violation . Please contact us . We will adjust (correct author information ,or delete content ) as soon as possible .