-
-
Notifications
You must be signed in to change notification settings - Fork 195
[HoonDongKang] WEEK 03 solutions #1326
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
return dpFunc(candidates, target); | ||
} | ||
|
||
console.log(combinationSum([2, 3, 6, 7], 7)); |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
저는 백트레킹 방식을 썼는데 dp 방식으로도 할 수 있네요!!
백트레킹 보다 코드 이해는 쉽네요!
function optimizedFunc(s: string): number { | ||
let prev2 = 1; | ||
let prev1 = s[0] === "0" ? 0 : 1; | ||
|
||
for (let i = 1; i < s.length; i++) { | ||
let curr = 0; | ||
|
||
const one = +s.slice(i, i + 1); | ||
const two = +s.slice(i - 1, i + 1); | ||
|
||
if (one >= 1 && one <= 9) curr += prev1; | ||
if (two >= 10 && two <= 26) curr += prev2; | ||
|
||
prev2 = prev1; | ||
prev1 = curr; | ||
} | ||
|
||
return prev1; | ||
} | ||
return optimizedFunc(s); |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
이 방식으로 공간 복잡도도 줄일 수 있네요
저는 이것도 dp를 사용해서 공간 복잡도가 O(n)인데 저장하지 않고 바로 비교하면 더 줄이게 되네요
let count = 0; | ||
while (n !== 0) { | ||
count += n & 1; | ||
n = n >>> 1; |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
논리 연산자를 사용하는 방법이 char를 하나씩 비교하는 것보다 더 직관적인 방법 같아요!
배우고 갑니다!
답안 제출 문제
작성자 체크 리스트
In Review
로 설정해주세요.검토자 체크 리스트
Important
본인 답안 제출 뿐만 아니라 다른 분 PR 하나 이상을 반드시 검토를 해주셔야 합니다!