320x100
문제 : https://leetcode.com/problems/plus-one/
가산기를 만들어보자.
carry(올림수) 변수를 하나 두고 1로 세팅한다. 원래는 0으로 시작하지만 1을 더하는 값을 구하는 것이기 때문에 1을 세팅한다.
배열의 뒤에서부터 carry와 수를 더해가면서 정답 배열의 뒤에서부터 채운다.
carry는 더한 값에 / 10한 값이다. (10을 넘겨야만 다음 수에 1을 더해주므로)
정답 배열에 들어가는 수는 더한 값에 % 10을 한 값이다.
배열을 모두 탐색이 끝났을 때(배열을 전부 탐색해도 되고 carry가 0이 나올때까지만 탐색해도 됨)
carry가 1이라면 정답 배열의 가장 앞에 1을 추가해준다.
시간 복잡도는 O(N).
소스 코드 : https://gist.github.com/fpdjsns/9cd1133c760c32d2c2b2bef6ae0a3656
320x100
'알고리즘 문제 > Leetcode' 카테고리의 다른 글
[leetcode][933] Number of Recent Calls (0) | 2018.11.09 |
---|---|
[leetcode][920] Number of Music Playlists (0) | 2018.11.06 |
[leetcode][918] Maximum Sum Circular Subarray (0) | 2018.11.05 |
[leetcode][53] Maximum Subarray (0) | 2018.11.04 |
[leetcode][91] Decode Ways (0) | 2018.11.02 |
댓글