5_hyun
2022. 9. 9. 19:33
반응형
해결법
이 문제는 일단 왕자의 수 만큼 배열에 넣어둔다. 그리고 우선 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>
반응형