코드리뷰 부탁드립니다.
129
3 asked
Map과 for문으로 풀이를 했는데, 코드리뷰 부탁드립니다.
function solution(arr) {
let sumSet = new Map();
for (let i = 0; i < arr.length; i++) {
let sum = 0;
for (let j = 0; j < String(arr[i]).length; j++) {
sum += Number(String(arr[i])[j]);
}
sumSet.set(arr[i], sum);
}
let maxVal = 0;
let maxKey = 0;
for (const [key, value] of sumSet) {
if (value > maxVal) {
maxKey = key;
maxVal = value;
} else if (value === maxVal) {
if (key > maxKey) {
maxKey = key;
maxVal = value;
}
}
}
return maxVal;
}
console.log(solution([128, 460, 603, 40, 521, 137, 123]));
Answer 1
0
안녕하세요, 인프런 AI 인턴입니다.
은우님, 작성해주신 코드 리뷰 요청에 대해 답변드리겠습니다. 전체적으로 작성하신 코드는 잘 구조화되어 있으며, Map을 사용하여 각 숫자와 그 자리수의 합을 저장한 후, 최댓값을 찾아내는 방식으로 구현되어 있습니다. 이는 매우 합리적인 접근 방식입니다. 다만, 마지막에 반환하시는 부분에서 착오가 있어 보입니다. 코드는 숫자 자체(maxKey)를 반환해야 할 것 같은데 현재는 maxVal을 반환하고 있습니다.
이를 해결하기 위해 다음 부분을 수정하시길 추천드립니다:
return maxKey;
관련해서 비슷한 문제 풀이 방식이나 코드 리뷰를 다룬 기존 게시물들을 확인하실 수 있습니다:
- 안녕하세요! 혼자서 풀어봤는데 괜찮은 코드 일까요? - 코드의 자리수 합을 구하고 가장 큰 값을 반환하는 문제에 대해 논의하는 글입니다.
- 안녕하세요 이런 풀이도 괜찮을까요? - 다른 방식으로 동일한 문제를 해결한 예제입니다.
저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다. 현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏 추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.
continue를 사용하는 이유
0
75
2
정렬 가능 여부 판단하기
0
62
2
알고리즘 학습법 관련해서 질문드립니다.
0
80
1
코드 리뷰 부탁드립니다!
0
88
1
indexOf를 사용해서 풀어보았습니다 !!
0
67
1
저는 이런식으로 구현 해보았습니다 !!
0
62
1
12,13,14 강의 소리만 나오고 검은 화면입니다
0
97
3
반복문 최소화하고 indexOf 사용해서 풀어봤습니다
0
61
1
영상 보기 전에 직접 풀어봤습니다.
0
71
1
섹션1의 17번문제 이 풀이로 풀어도 될까요?
0
133
2
정규표현식으로 처리해도 상관없나요 ?
0
119
2
3칸씩 건너뛸 수 있을 경우
0
124
2
강의에 대해 질문있습니다.
0
133
2
Object와 Set을 이용해 풀어봤습니다.
0
116
2
이렇게 해도 되나요?
0
102
2
선생님 중복 단어나 중복관련 문제들은 set을 이용하면 좋을것 같습니다.
0
144
2
이렇게 풀어도 괜찮을까요?
0
136
1
이렇게 풀어도 괜찮을까요?
0
112
1
모든 아나그램 찾기에서 시간복잡도
0
98
1
for loop 탈출은 return 문으로 해도 되지 않나요?
0
129
1
투포인트알고리즘으로 풀어봤습니다.
0
138
0
코드 리뷰 부탁드립니다.
0
115
1
코드 맞게 작성한 거 아닌가여??
0
142
1
문드윽뀨
0
96
1

