일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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
- app router
- 호이스팅
- 리터럴 타입
- 이분 검색
- CI/CD
- webpack
- map
- 투포인터
- 결정 알고리즘
- React
- useAppDispatch
- dfs
- CORS
- autosize
- Jest
- Promise
- 인터섹션
- Cypress
- 공변성
- 타입 좁히기
- 반공변성
- SSR
- tailwind
- recoil
- async/await
- TS
- 무한 스크롤
- RTK Query
- ESlint
- 태그된 유니온
Archives
- Today
- Total
짧은코딩
공주 구하기 본문
반응형
해결법
이 문제는 일단 왕자의 수 만큼 배열에 넣어둔다. 그리고 우선 k-1만큼 앞 왕자를 빼서 뒤로 보낸다. 그리고 k번째 왕자가 있는 숫자를 제거한다. 이것을 1명의 왕자가 남을 때 까지 반복하면 된다.
코드
<html>
<head>
<meta charset="UTF-8" />
<title>출력결과</title>
</head>
<body>
<script>
function solution(n, k) {
let answer;
let ary = [];
for (let i = 1; i <= n; i++) ary.push(i);
while (ary.length > 1) {
for (let i = 0; i < k - 1; i++) {
ary.push(ary.shift());
}
ary.shift();
}
answer = ary[0];
return answer;
}
console.log(solution(8, 3));
</script>
</body>
</html>
반응형
'코딩테스트 with JS > 자바스크립트 알고리즘 문제풀이(인프런)' 카테고리의 다른 글
결혼식 (0) | 2022.12.11 |
---|---|
LRU(Least Recently Used) (0) | 2022.12.05 |
쇠막대기 (0) | 2022.09.08 |
모든 이나그램 찾기(해쉬, 투포인터, 슬라이딩 윈도우) (0) | 2022.08.28 |
학급 회장(해쉬, Map) (0) | 2022.08.26 |
Comments