프로그래머스, 자바스크립트) 조건에 맞게 수열 변환하기 2

2024. 2. 22. 10:47·개발/알고리즘(코딩테스트)

문제

https://school.programmers.co.kr/learn/courses/30/lessons/181881

 

프로그래머스

코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.

programmers.co.kr

 

풀이

일단 원하는 결과가 나올때까지 어떤 동작을 반복해야 되니까 => while로 풀기 아니면 재귀함수를 만들자!! 라는 생각이 들었다

조건에 맞게 배열을 도는 함수를 만든다음에. 원하는 결과가 나올때까지 함수를 타고 타고 타고 태워준다.

그러다가 배열과 그 다음 배열이 완전히 일치할때 리턴을 통해 카운트를 반환해준다.

function solution(arr) {
  let count = 0;

  const loopArr = (arr, count) => {
    let arr1 = arr.map((v) => {
      if (v >= 50 && v % 2 === 0) {
        return v / 2;
      } else if (v < 50 && v % 2 === 1) {
        return v * 2 + 1;
      } else {
        return v;
      }
    });

    if (arr1.every((v, i) => v === arr[i])) return count;

    count++;

    return loopArr(arr1, count);
  };

  return loopArr(arr, count);
}
저작자표시 비영리 변경금지 (새창열림)

'개발 > 알고리즘(코딩테스트)' 카테고리의 다른 글

프로그래머스, 자바스크립트) 구슬을 나누는 경우의 수  (0) 2024.02.25
프로그래머스, 자바스크립트) 배열 만들기 4  (0) 2024.02.25
프로그래머스, 자바스크립트) 수열과 구간 쿼리 4  (0) 2024.02.19
프로그래머스, 자바스크립트) 문자열 여러 번 뒤집기  (1) 2024.02.18
프로그래머스, 자바스크립트) 조건 문자열  (0) 2024.02.17
'개발/알고리즘(코딩테스트)' 카테고리의 다른 글
  • 프로그래머스, 자바스크립트) 구슬을 나누는 경우의 수
  • 프로그래머스, 자바스크립트) 배열 만들기 4
  • 프로그래머스, 자바스크립트) 수열과 구간 쿼리 4
  • 프로그래머스, 자바스크립트) 문자열 여러 번 뒤집기
빔네모
빔네모
console.log("빔네모")
  • 빔네모
    bimnemo("개발")
    빔네모
  • 전체
    오늘
    어제
    • 기록 (146) N
      • 기술 (37)
        • JavaScript (1)
        • TypeScript (9)
        • React.js (10)
        • Next.js (0)
        • 라이브러리,도구 (4)
        • HTML,CSS (4)
        • CS (5)
        • BE (4)
      • 개발 (97) N
        • 프로젝트 (0)
        • 트러블슈팅 (5)
        • 알고리즘(코딩테스트) (92) N
      • 정보 (4)
      • 취미 (8)
        • 감상 (8)
  • 인기 글

  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.3
빔네모
프로그래머스, 자바스크립트) 조건에 맞게 수열 변환하기 2
상단으로

티스토리툴바