[Programmers]우박수열 정적분/JS

2024. 6. 2. 04:22·Algorithm/Programmers
목차
  1. 문제링크
  2. 풀이방법
  3. 정답코드

문제링크

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

풀이방법

  1. temp에 k를 저장하고, k에 k가 짝수이면 k/2, 홀수이면 k*3+1을 해준 값을 저장한다.
  2. 사다리꼴 넓이 공식을 이용해서 (밑변(=temp)+아랫변(k))/2를 해서 area에 저장해준다.
    이 과정을 k가 1이 될 때까지 반복한다.

    이제 위에서 구한 count 값과 area 배열을 가지고 계산을 해준다.

  3. 주어진 ranges를 돌면서 범위를 구해준다. 예를 들어 [0,-1]이 주어진다면 0은 그대로 두고 count에서 -1을 해준 값으로 바꿔준다.
  4. 3번에서 구한 범위를 가지고 area의 값들을 더해준 값을 answer에 저장해주면 끝!

정답코드

function solution(k, ranges) {
  var answer = [];
  let area = [];	// 넓이를 저장할 배열
  let count = 0;	// 우박수열이 1이 될때까지의 횟수
 
  while (k != 1) {
    let temp = k;
    k = k % 2 == 0 ? k / 2 : k * 3 + 1;
    area.push(parseFloat((temp + k) / 2));
    count++;
  }
  
  ranges.map((range) => {
    range[1] = count + range[1];
    if (range[0] > range[1]) return answer.push(-1);
    let sum = 0;
    for (let i = range[0]; i < range[1]; i++) {
      sum += area[i];
    }
    return answer.push(sum);
  });

  return answer;
}

 

'Algorithm > Programmers' 카테고리의 다른 글

[Programmers]여행경로/JS  (0) 2024.06.06
[Algorithm] BFS 문제  (5) 2024.05.28
[Algorithm] 시간복잡도  (0) 2024.04.13
[Programmers]산 모양 타일링[JS]  (0) 2024.04.13
[Programmers]야근 지수/JS  (5) 2024.04.07
  1. 문제링크
  2. 풀이방법
  3. 정답코드
'Algorithm/Programmers' 카테고리의 다른 글
  • [Programmers]여행경로/JS
  • [Algorithm] BFS 문제
  • [Algorithm] 시간복잡도
  • [Programmers]산 모양 타일링[JS]
>동구리<
>동구리<
  • >동구리<
    데굴데굴 굴러가는 히동구리
    >동구리<
  • 전체
    오늘
    어제
    • 분류 전체보기
      • WEB
      • HTML,CSS,JS
      • React
      • 개발
      • Git
      • 이것저것
      • Algorithm
        • Programmers
        • Study
  • 블로그 메뉴

    • 홈
    • 태그
    • 방명록
  • 링크

  • 공지사항

  • 인기 글

  • 태그

    배열 생성
    리액트 #React #생명주기 #Lifecycle #훅 #Hook
    adaptive jitc
    리액트 #React #아토믹디자인 #아토믹디자인패턴
    border vs outline
    JITC
    ouline
    js 동작원리
    http1
    이벤트 전파
  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.3
>동구리<
[Programmers]우박수열 정적분/JS
상단으로

티스토리툴바

단축키

내 블로그

내 블로그 - 관리자 홈 전환
Q
Q
새 글 쓰기
W
W

블로그 게시글

글 수정 (권한 있는 경우)
E
E
댓글 영역으로 이동
C
C

모든 영역

이 페이지의 URL 복사
S
S
맨 위로 이동
T
T
티스토리 홈 이동
H
H
단축키 안내
Shift + /
⇧ + /

* 단축키는 한글/영문 대소문자로 이용 가능하며, 티스토리 기본 도메인에서만 동작합니다.