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 |
Tags
- 이미지 최적화
- 브라우저
- ec2
- 렌더링 과정
- TLS
- 자동화
- 성능 개선
- 3-Way HandShake
- 검색엔진최적화
- 이미지 압축
- 배포
- gitgub actions
- aws
- nextJS
- CI
- SSL
- certbot
- pm2
- DNS
- 로드 밸런싱
- 무중단
- webp
- nginx
- SSH
- tcp
- 리버스 프록시
- 이미지 포맷 변경
- workflow
- 인증서
- https
Archives
- Today
- Total
개발일기
[JavaScript] k의 개수 본문
문제 설명
1부터 13까지의 수에서, 1은 1, 10, 11, 12, 13 이렇게 총 6번 등장합니다. 정수 i, j, k가 매개변수로 주어질 때, i부터 j까지 k가 몇 번 등장하는지 return 하도록 solution 함수를 완성해주세요.
제한사항
- 1 ≤ i < j ≤ 100,000
- 0 ≤ k ≤ 9
입출력 예
i | j | k | result |
1 | 13 | 1 | 6 |
10 | 50 | 5 | 5 |
3 | 10 | 2 | 0 |
풀이
function solution(i, j, k) {
var answer = "";
for(let v = i; v <= j; v++){
answer += v
}
const result = [...answer].filter(item => Number(item) === k).length
return result !== 0 ? result : 0;
}
풀이 설명
1. 먼저 i와 j 사이의 모든 값이 필요하므로 for문을 사용해서 answer에 사이의 모든 값을 넣어준다.
2. 넣어준 값을 요소가 모두 한자리 수인 배열로 만들고, filter() 메서드를 사용해서 k의 값과 같은 요소만 존재하는 새로운 배열을 만들어 준다.(배열의 요소는 string이고, k는 number이기 때문에 item을 Number를 사용해서 타입을 일치시켜 준다. 동등 연산자(==)를 사용해도 된다.)
3. length를 사용해 새로운 배열의 길이를 리턴 하는데 k와 일치하는 요소가 없으면 0을 리턴해야 한다. 따로 조건을 주지 않으면 빈 배열을 리턴하기 때문에 삼항 연산자를 사용해서 조건을 걸어준 후 리턴해 준다.
'Algorithm' 카테고리의 다른 글
[Javascript] 소인수분해 (1) | 2024.07.15 |
---|---|
[JavaSciprt] 잘라서 배열로 저장하기 (0) | 2024.07.15 |
[JavaScript] 7의 개수 (0) | 2024.07.11 |
[JavaScript] 한 번만 등장한 문자 (0) | 2024.07.09 |
[JavaScript] 가까운 수 (0) | 2024.07.09 |