문제 설명
한 자리 정수로 이루어진 문자열 num_str이 주어질 때, 각 자리수의 합을 return하도록 solution 함수를 완성해주세요.
제한사항
3 ≤ num_str ≤ 100
내 풀이:
reduce부터 생각났지만 사용법 까먹음 이슈..
.reduce(e => e + e); 이런 느낌으로 500번 썼다가 지웠다...😵💫
다른 풀이 보니까 charAt은 없더라 더 뒤로 넘기면 있나
function solution(num_str) {
let answer = 0;
for(let i = 0; i < num_str.length; i++) {
answer += Number(num_str.charAt(i));
}
return answer;
}
다른 풀이:
이 풀이가 괜찮다고 생각한 이유가 reduce는 당연히 사용되었고,
스프레드 연산자가 같은 타입이 아니라 배열안에 문자열을 넣어도 된다는 걸 알았다.
이런게 기억에 오래 남는다
function solution(num_str) {
return [...num_str].reduce((a, c) => a + +c, 0)
}
reduce
array.reduce((accumulator, currentValue, currentIndex, array) => {
// callback logic
}, initialValue);
accumulator: 이전 콜백의 반환값을 보유하는 변수 (또는 initialValue가 제공된 경우 초기값).
currentValue: 현재 처리되고 있는 배열의 요소.
currentIndex: (선택사항) 현재 처리되고 있는 요소의 인덱스.
array: (선택사항) reduce()를 호출한 배열.
initialValue: (선택사항) accumulator의 초기값을 제공하는 값.
'프로그래머스 > 코딩 기초 트레이닝' 카테고리의 다른 글
[프로그래머스] 코딩테스트 연습 > 코딩 기초 트레이닝 > 특수문자 출력하기 (0) | 2024.11.16 |
---|---|
[프로그래머스] 코딩테스트 연습 > 코딩 기초 트레이닝 > 대소문자 바꿔서 출력하기 (1) | 2024.11.15 |
[프로그래머스] 코딩테스트 연습 > 코딩 기초 트레이닝 > 문자열을 정수로 변환하기 (0) | 2024.11.14 |
[프로그래머스] 코딩테스트 연습 > 코딩 기초 트레이닝 > 문자열로 변환 (0) | 2024.11.14 |
[프로그래머스] 코딩테스트 연습 > 코딩 기초 트레이닝 > 문자열 반복해서 출력하기 (0) | 2024.10.29 |