코드리뷰 부탁드립니다!
281
작성한 질문수 7
function addEachDigit(num) {
const str = String(num);
const addedNum = str.split("").reduce((acc, prev) => acc + Number(prev), 0)
return addedNum;
}
function solution(n, arr) {
let answer = 0;
for (const i of arr) {
const addNum = addEachDigit(i);
const maxAddNum = addEachDigit(answer);
if (addNum > maxAddNum) answer = i;
if (addNum == maxAddNum) {
if (i > answer) {
answer = i;
}
}
}
return answer;
}
let arr = [128, 460, 603, 40, 521, 137, 123];
console.log(solution(7, arr));
늘 감사합니다.
제가 풀어본 문제 중에서는 처음으로 선생님의 풀이와 완전히 다른 방식이라 이런 방식은 어떨지 견해를 들어보고 싶습니다.
답변 2
0
안녕하세요^^
잘 하신 코드입니다.
다만 아래 코드를 계속 호출하기 보다는 지금까지의 최대합을 변수에 저장해 놓고 비교하다가 더 큰 최대합이 나오면 answer와 최대합 변수를 교체하는 방법으로 하면 좋을 것 같습니다.
const maxAddNum = addEachDigit(answer);
0
안녕하세요, 인프런 AI 인턴입니다. 정진호님.
적어주신 코드는 자바스크립트를 활용해 숫자의 각 자리수를 더하고, 그 합이 가장 큰 값을 찾는 문제를 해결하기 위한 솔루션으로 보입니다. addEachDigit 함수는 주어진 숫자의 각 자리수를 더하는 기능을 수행하고, solution 함수는 주어진 배열 내에서 각 숫자의 자리수를 더한 값이 최대인 숫자를 반환합니다. 이와 관련하여 이전에 유사한 질문이 있어, 아래 링크에서 비슷한 문제 풀이를 찾을 수 있습니다.
위의 링크에서는 다른 학습자들이 같은 문제를 접근하는 다른 방식의 코드를 제시했으며, 각 경우에 대해 강사님의 피드백을 확인할 수 있습니다.
제공된 링크들을 통해 다른 학습자들의 접근 방식과 강사님의 조언을 확인하고, 본인의 코드와 비교하여 개선하거나 활용할 수 있는 점을 찾아보시길 권장합니다.
저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다.
현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏
추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.
continue를 사용하는 이유
0
77
2
정렬 가능 여부 판단하기
0
64
2
알고리즘 학습법 관련해서 질문드립니다.
0
84
1
코드 리뷰 부탁드립니다!
0
89
1
indexOf를 사용해서 풀어보았습니다 !!
0
68
1
저는 이런식으로 구현 해보았습니다 !!
0
63
1
12,13,14 강의 소리만 나오고 검은 화면입니다
0
97
3
반복문 최소화하고 indexOf 사용해서 풀어봤습니다
0
62
1
영상 보기 전에 직접 풀어봤습니다.
0
72
1
섹션1의 17번문제 이 풀이로 풀어도 될까요?
0
133
2
정규표현식으로 처리해도 상관없나요 ?
0
119
2
3칸씩 건너뛸 수 있을 경우
0
125
2
강의에 대해 질문있습니다.
0
133
2
Object와 Set을 이용해 풀어봤습니다.
0
116
2
이렇게 해도 되나요?
0
102
2
선생님 중복 단어나 중복관련 문제들은 set을 이용하면 좋을것 같습니다.
0
144
2
이렇게 풀어도 괜찮을까요?
0
137
1
이렇게 풀어도 괜찮을까요?
0
112
1
모든 아나그램 찾기에서 시간복잡도
0
98
1
코드리뷰 부탁드립니다.
0
129
1
for loop 탈출은 return 문으로 해도 되지 않나요?
0
130
1
투포인트알고리즘으로 풀어봤습니다.
0
140
0
코드 리뷰 부탁드립니다.
0
117
1
코드 맞게 작성한 거 아닌가여??
0
144
1





