주말동안 [혼자 공부하는 자바스크립트] 를 완독하였다.
이제 기본기는 배웠으니 응용하기 위해서 알고리즘을 제대로 시작한다..!
자바스크립트 알고리즘
문제)
나는 아직 초보니까...
내 생각을 글로 정리 한 후 코딩을 시작하기로 하였다.
// 덧셈 혹은 곱셈을 조합해서 최고의 값이 뭔지 찾아라 !
// 1. 0은 곱하면 0이 되니 덧셈을 시켜야한다.
// 2. 1은 곱해도 1이니 이것도 덧셈을 시켜야함.
// 그러므로 0과 1은 덧셈 나머지는 곱셈을 연산한다.
// 반복문을 돌려서 0 혹은 1이 나오면 더하고 그렇지 않으면 곱한다 ?
생각한대로 코딩을 했는데 답이 자꾸 이상하게 나왔다.
내가 한가지 간과 한것이 있었다.
반복문을 돌릴거니 변수를 0으로 지정했으니 변수의 값이 0인 경우 덧셈을 해야된다는걸 캐치하지 못했다.
그래서 정답은
const input = [0, 3, 5, 6, 1, 2, 4];
function 최대값찾기(array) {
let multiply_sum = 0
for (const i in input) {
if (input[i] <= 1 || multiply_sum === 0) {
multiply_sum += input[i]
} else {
multiply_sum *= input[i]
}
}
return multiply_sum
}
console.log(최대값찾기(input));
728 !
'개발 일지 > 개발 일지' 카테고리의 다른 글
내일배움캠프 Day 14 (0) | 2022.11.18 |
---|---|
내일배움캠프 Day 13 (0) | 2022.11.16 |
내일배움캠프 Week 2 (0) | 2022.11.14 |
내일배움캠프 Day 10 (1) | 2022.11.11 |
내일배움캠프 Day 9 (0) | 2022.11.11 |