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
- Link
- invalid assignment left-hand side
- visibility : hidden
- 배열의 오름차순
- 백준알고리즘
- filter()
- 객체
- Array.from()
- innerhtml
- nth-child()
- Sort
- 단방향 연결리스트
- 고차함수
- 배열의 내림차순
- Em
- CSS
- indexOf
- 인접 형제 선택자 결합
- 배열과 연결리스트의 차이
- 가상 요소 선택자
- 일반 형제 선택자 결합
- for..of
- 쌍방향 연결리스트
- map()
- 범용 선택자
- 양방향 연결리스트
- display : none
- disabled
- 등차수열의 항 찾기
- classList.contains(string)
Archives
- Today
- Total
프론트엔드 센트럴파크 (☞゚ヮ゚)☞
두 자연수를 입력받아 각 자리의 빈도수 구하기 본문
두 자연수 M, N을 입력받아, M부터 N까지 각자리수의 빈도수를 합하는 프로그램의 제작하시오.
이 숫자들의 자릿수 별 빈도수를 계산하여, 0부터 9까지의 빈도수 값을 반환한다.
function answer(s, e) {
let result = [];
// 0. 각 자릿수 별 index => 0
for (let i = 0; i < 10; i++) {
result[i] = 0;
}
// 1. s <= n <= e
let num;
for (let i = s; i <= e; i++) {
num = i;
// 2. n => % /
while (num != 0) { // 129 9 2 1
result[num % 10]++;
num /= 10;
num = parseInt(num);
}
}
return result;
}
let input = [
[129, 137],
[1412, 1918],
[4159, 9182],
];
for (let i = 0; i < input.length; i++) {
process.stdout.write(`#${i + 1} `);
console.log(answer(input[i][0], input[i][1]));
}
예를 들어 129라는 숫자의 자릿 수 값을 구해보자.
129 % 10 = 9
여기서 9는 일의 자리수가 된다.
129 / 10 = 12.9
parseInt로 변수로 전환한다.
12 % 10 = 2
여기서 2는 십의 자리수가 된다.
12 / 10 = 1
여기서 1은 백의 자리수가 된다.
Comments