실생활에서 자주 접할 수 있는데, 비밀번호, 아이디, .... (자주..? 는 아닐지도)에서 패턴 반복을
막기 위해서 사용할 경우가 있다.
정규식을 사용하면 간단하게 해결할 수 있는 문제일 수 있지만,
만약 0 ~ 9까지만 숫자가 있는게 아닌 0 ~ 100000000000 이라면?
( 과장을 보탰다. 실제로 저기서 뽑는다면 엉청 오래걸릴지도...)
정규식으로 어썸하게 해결하는 정규식 굇수분들이 있을 수 있지만 본인은 못하기 때문에 반복문을
사용해서 해결하였다.
function func(array, goal) {
for(let i = 0; i < array.length; i ++) {
let cnt = 1;
let num = array[i];
while(true)
if(array.includes(++num)) cnt++;
else break;
if(cnt === goal)// 연속된 숫자가 목표개 있음
}
}
for문 안에 while문을 반복하는 방식으로 해결했다.
만약 1, 2, 3, 4, 5, 6, 7 연속되고 goal이 4일 경우
4, 5, 6, 7이 if문에 들어가게 될 것이다.
반응형
'JavaScript' 카테고리의 다른 글
[JavaScript] every, some (0) | 2023.01.12 |
---|---|
[JavaScript] 재귀함수 vs 반복문 (1) | 2022.12.29 |
[JavaScript] 함수형 프로그래밍 - 함수형으로 전환하기_1 (0) | 2022.11.13 |
[JavaScript] 함수형 프로그래밍 - 개요 (0) | 2022.11.12 |
[JavaScript] Event의 target과 currentTarget (0) | 2022.11.01 |