node 출력방식대신 script 로 출력하였습니다.
인자로 세자리 숫자 두개를 받아서 그림과 같이 3,4,5,6번에 출력되는 숫자를 구하는 문제이다.
일단 3번 값을 구하려면 472 * 5를 하면되고, 4번은 472 * 8, 5번은 472 * 3이다.
그리고 마지막에 구한 값을 모두 더해주면 된다.
📌작성코드
<script>
function solution(a, b) {
let firstSum, seconSum, thirdSum, totalSum;
let num1 = a.toString(), num2 = b.toString().split('');
firstSum = (num1 * num2[2]) //3번 위치
seconSum = (num1 * num2[1]) //4번 위치
thirdSum = (num1 * num2[0]) //5번 위치
totalSum = firstSum + Number(`${seconSum}0`) + Number(`${thirdSum}00`) //6번 위치
return [firstSum, seconSum, thirdSum, totalSum];
}
console.log(solution(472, 385));
</script>
제일 먼저 인자로 받는 a를 문자열로 변환환다.
그럼 '472'가 출력되고, 두번째 인자 b는 '472'에 1의 자리 10의 자리 100의 자리를 곱해주어야하기때문에
split으로 자리수를 쪼개주었다.
num2에는 ['3', '8', '5'] 가 출력되고, (3)번 위치에는 472 * 5를 해주면 되기때문에 num1* num2[2]을 넣어준다.
마지막 6번은 총 구한 값을 더해줘야하는데,
그냥 더하게 되면
2360 + 3776 + 1416 이되어버려서 엉뚱한 값이 나오게 된다.
템플릿리터럴로 뒤에 숫자 0을 넣어서 2360 + 37760 + 141600 으로 만들어준다.
이때 Number타입으로 감싸지않으면 그냥
236037760141600 이렇게 출력되 버리기때문에 꼭 number타입으로 감싸준다.
'알고리즘 > 백준' 카테고리의 다른 글
[Javascript] 2753번 - 윤년 (0) | 2022.09.09 |
---|---|
[Javascript] 9498번 - 시험 성적 (0) | 2022.09.09 |
[Javascript] 10430번 - 나머지 (0) | 2022.09.06 |
[Javascript] 3003번 - 킹, 퀸, 룩, 비숍, 나이트, 폰 (0) | 2022.09.06 |
[Javascript] 10926번 - ??! (0) | 2022.09.05 |