320x100
문제 : https://leetcode.com/problems/add-binary/
carry 플래그를 하나두고 a, b 문자열의 가장 뒤에서부터 수를 더해간다.
(a + b + carry) / 2 나머지를 정답 문자열에 추가하고
(a + b + carry) / 2 몫을 carry에 저장한다.
이를 a, b 문자열들 중 하나의 문자열이 모두 탐색할때까지 반복한다.
이 후 a, b 문자열들 중 아직 탐색하지 않은 문자들이 남았다면 탐색이 끝날때까지 위와 같이 (남은 숫자 문자 + carry) / 2 나머지를 정답에 추가해나간다.
시간복잡도는 O(N). N = a, b 문자열들 중 최장 길이
소스코드 : https://github.com/fpdjsns/Algorithm/blob/master/leetcode/easy/67.%20Add%20Binary.cpp
320x100
'알고리즘 문제 > Leetcode' 카테고리의 다른 글
[Leetcode] 43. Multiply Strings (0) | 2021.11.08 |
---|---|
[Leetcode] 94. Binary Tree Inorder Traversal (0) | 2021.11.05 |
[Leetcode]11. Container With Most Water (0) | 2021.11.03 |
[Leetcode] 980. Unique Paths III (0) | 2021.11.02 |
[Leetcode] 130. Surrounded Regions (0) | 2021.11.01 |
댓글