Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | ||||
4 | 5 | 6 | 7 | 8 | 9 | 10 |
11 | 12 | 13 | 14 | 15 | 16 | 17 |
18 | 19 | 20 | 21 | 22 | 23 | 24 |
25 | 26 | 27 | 28 | 29 | 30 | 31 |
Tags
- 카카오홈페이지클론
- web3.js
- git
- 콜백함수this
- Klaytn
- 블록체인
- it5분잡학사전
- 정보처리기사
- it5
- 솔리디티
- ETH
- npm
- Non-Blocking
- 노마드코더
- github
- blockchain
- ERC721
- node.js
- solidity
- 2021정보처리기사실기
- 비트코인
- 클레이튼
- 정보처리기사실기
- 페이지클론
- 정보처리기사실기요약
- 카카오페이지클론
- 노개북
- React
- ERC-721
- 이더리움
Archives
- Today
- Total
Be lazy, Be crazy
백준 11720 - 숫자의 합(node.js) 본문
728x90
반응형
안녕하세요 백준 11720(숫자의 합) 문제풀었습니다. 생각 및 코드를 공유합니다.
문제
문제와 예시를 통해서 어떻게 풀어야할 지 고민을 했다.
고민풀이
1.예제입력3을 보게되면 25라는 숫자는 밑에숫자의 총갯수를 뜻한다고 추측
2.밑에있는 숫자(25개)를 전부 더하면 값이 7
3.for문을 써서 사용할 것인가 더편한 reduce를 사용할것인가 고민
4.for문이면 str += 1, reduce면 (a+b) 이렇게 간단하게 생각을 해보고 코드를 작성했다.
코드
var fs = require('fs'); var input = fs.readFileSync('/dev/stdin').toString().split('\n');
일단 위에는 백준에서는 위에코드처럼 또는 다른방법을 사용해서 임의숫자를 받을 수 있게 지정해주여 한다.
java에서는 scanner을 많이사용한다. split('\n')을 보게되면
이렇게 5 (enter) / 54321이렇게 구조가 되어있기 때문에 한칸을 띄워서 입력받아주는 (\n)을 사용한것이다.
input1 = input[1].split('');
let input2 = input1.map((el)=> Number(el));
const sum = input2.reduce((a,b)=>{
return a+b
})
console.log(sum)
나는 reduce를 사용해서 아주간단하게 풀었다. 간략하게 풀이를 이야기해보자면, input이라는 변수에 ['25','700000000000000000000']이런식으로 들어와있다. 그래서 input[1]을 split를 사용해서 쪼갠 후 다시 Number처리를 해주었다. 그다음 number처리된 input2라는 배열을 가지고 reduce를 사용해서 총숫자의 합을 구했다. reduce는 배열에서만 사용할 수 있는 함수다.
반응형
'코딩테스트 > 백준' 카테고리의 다른 글
1085 사각지옥에서 탈출하자(java,node.js) (0) | 2022.02.09 |
---|---|
백준(10950)-node.js (0) | 2022.01.07 |
Comments