알고리즘 기초 주차 - 2번 문제 풀이방법
본문 바로가기
항해 중/2주차 알고리즘(프로그래머스)

알고리즘 기초 주차 - 2번 문제 풀이방법

by 은돌1113 2021. 11. 13.

문제설명
: 자연수 n의 각 자리 숫자를 뒤집은 순서로 더해 출력하는 수식을 리턴 하세요.
예를 들어 n이 12345이면 "5+4+3+2+1=15"라는 문자열을 리턴합니다.

제한사항
- N의 범위 : 100,000,000 이하의 자연수

입출력 예


지정 입력값


문제풀이

- 첫번째 문제 풀이

function solution(n){ 
    let array = [] 
    let total = 0 
    let result = '' 

// n을 뒤집는다 
    array = n.toString().split("").reverse() 

// 각 자릿수를 더한 합계를 구한다. 
    for(let i = 0; i<array.length; i++){ 
        total += parseInt(array[i]) 
        if(i == (array.length - 1)){ 
        	result += array[i] 
        }else{ 
        	result += array[i]+"+" 
    } 
} 
// 결과값을 return 한다. 
return result+"="+total 
} 

solution(12345) 
solution(1532576) 
solution(718253)


- 두번째 문제 풀이

function solution(n){ 
    let total = 0 
    let result = '' 
    let array = n.toString().split("").reverse() 

    array.forEach((item, i)=>{ 
        total += parseInt(item); 
        (i==(array.length-1))?result+=item:result+=(item+"+") }) 
        
   	result = result+"="+total 
    
return result 
} 

solution(12345) 
solution(1532576) 
solution(718253)

1) 숫자를 문자열로 바꾼다.
2) 한글자씩 잘라서 배열에 담는다.
3) 배열을 뒤집는다.
4) forEach 배열함수를 사용해서
- 합계를 구한다.
- 삼항연산자를 사용해서 끝 값이면 item만 담고 끝 값이 아니면 item+"+"를 담는다.
5) result+"="+total을 해서 결과값을 만들어서 return 한다.

댓글