728x90
[Level 1] 자릿수 더하기
구분
코딩테스트연습 > 연습문제
풀이 요약
문자열 각 자릿수의 합 구하기 (단순 구현)
나의 풀이
function solution(n)
{
return String(n).split("").reduce((acc,cur)=>acc+(cur*1),0)
}
reduce 메서드를 사용해서 배열의 각 요소의 합을 계산합니다.
acc는 누적합계를 저장하고 cur은 현재 배열 요소를 나타내는 변수입니다. 또한 cur*1을 통해 현재 배열 요소를 숫자로 변환합니다.
이는 자바스크립트의 **암묵적 변환(Implicit Coercion)**을 뜻하는데요
예상치 못한 타입을 받았을 때 예상 가능한 타입으로 바꿔준다고 생각하면 됩니다. 그로 인해 숫자 값을 넘겨야 하는 곳에 문자열을 넣을 수 도 있고, 문자열을 넣어야 하는 곳에 숫자를 넣을 수도 있습니다.
문제와 같이 -, *, /, %를 포함한 문자열 (문제에서는 cur * 1)을 피연사자로 넘길 때마다 숫자의 암묵적 타입변환이 일어나게 됩니다. 따라서 Number 함수를 불러오는 것과 비슷합니다.
배운 점
숫자 표현식에서 문자열을 피 연사자로 넘기면 암묵적 형변환이 일어나는 것을 배웠습니다.
728x90
'코테 > 프로그래머스' 카테고리의 다른 글
[프로그래머스] 푸드 파이트 대회 (0) | 2024.07.25 |
---|---|
[프로그래머스] 자연수 뒤집어 배열로 만들기 (1) | 2024.07.25 |
[프로그래머스] 문자열 내 p와 y의 개수 (2) | 2024.07.25 |
[코딩 기초 트레이닝] 전국대회 선발고사 (3) | 2024.07.23 |
[코딩 기초 트레이닝] 배열 만들기 2 (3) | 2024.07.23 |