인프런 영문 브랜드 로고
인프런 영문 브랜드 로고

인프런 커뮤니티 질문&답변

안영우1님의 프로필 이미지
안영우1

작성한 질문수

자바스크립트 알고리즘 문제풀이 입문(코딩테스트 대비)

6. 공주구하기(큐)

안녕하세요 선생님 `for`문을 사용하지 않고 풀어봤습니다.

해결된 질문

작성

·

147

0

항상 질 좋은 강의 감사드립니다. 다름이 아니라 이런 코드처럼 `for`문을 사용하지 않고 `cnt`를 누적시키면서 조건을 거는 방법도 괜찮은지 여쭤보고 싶습니다.
let n = 8;
let k = 3;

console.log(solution(n, k));

function solution(n, k) {
  let princes = Array.from({ length: n }, (value, idx) => idx + 1);
  let cnt = 0;

  while (princes.length >= 2) {
    if (cnt === k - 1) princes.splice(0, 1), (cnt = 0);
    else princes.push(princes.shift()), cnt++;
  }

  return +princes;
}

답변 1

0

김태원님의 프로필 이미지
김태원
지식공유자

안녕하세요^^

네. 잘하신 코드입니다.

안영우1님의 프로필 이미지
안영우1
질문자

감사합니다.

안영우1님의 프로필 이미지
안영우1

작성한 질문수

질문하기