개발후라이
개발후라이
개발후라이
  • 분류 전체보기 (287)
    • Web Front End (76)
      • Javascript & Typescript (26)
      • React (12)
      • Vue (4)
      • Nodejs (1)
      • HTML (6)
      • CSS (8)
      • HTTP (6)
      • 책 - Review (8)
    • TIL (0)
    • Problem Solved (135)
      • 알고리즘 (4)
      • BOJ (67)
      • Programmers (8)
      • HackerRank (33)
      • LeetCode (23)
    • 회고 (4)
      • 오늘의 회고 (16)
      • 주간 회고 (15)
      • 월간 회고 (7)
      • WakaTime (9)
    • Git (3)
    • 기타 (15)
      • 취업 (5)
      • 자격증 (1)

블로그 메뉴

  • GitHub
  • LinkedIn
  • 홈

인기 글

태그

  • 개발자
  • 회고
  • 자바스크립트
  • 노마드북클럽
  • 프론트엔드
  • 릿코드
  • 노개북
  • JavaScript
  • 오늘의회고
  • TypeScript

최근 댓글

최근 글

전체 방문자
오늘
어제

티스토리

hELLO · Designed By 정상우.
개발후라이
Problem Solved/LeetCode

[Javascript][LeetCode] Replace Elements with Greatest Element on Right Side

[Javascript][LeetCode] Replace Elements with Greatest Element on Right Side
Problem Solved/LeetCode

[Javascript][LeetCode] Replace Elements with Greatest Element on Right Side

2022. 1. 5. 20:54
반응형

문제

Replace Elements with Greatest Element on Right Side(요소를 오른쪽에서 가장 큰 요소로 바꾸기

문제 설명

반복문을 돌면서 차례대로 그 값 이후부터의 배열 값들로 최대값을 구해 배열을 다시 구성하는 문제입니다. 마지막에는 -1을 추가하여 개수가 같도록 만들면 끝입니다.

  • 아래와 같이 치환되는 부분을 제외한 나머지 오른쪽을 가지고 최대값을 만듭니다. 배열에서 shift를 사용하면 0번 값이 삭제됩니다. 여기서 spread operator를 이용해 max 값을 구해 줍니다.
  • 이 때 주의할 것은 shift를 사용했기 때문에 arr의 길이가 계속 변하게 되어 바로 사용하게 되면 result 배열의 개수가 모자라거나 -Infinity값이 섞일 수 있습니다.

  • 반복문을 다 돌고 마지막 요소에서는 오른쪽에 최댓값을 구할 수 있는 배열이 없습니다. 값이 잘못 들어가는 것을 막기 위해 반복문이 index보다 적게 돌도록 합니다.
  • 그리고 -1은 문제에서 정해준 값이므로 return하기 전에 push해주면 됩니다.

성공 코드

const replaceElements = function(arr) {
    let result = [];
    const len = arr.length;

    for (let i = 0; i < len - 1; i++) {
        arr.shift();
        const value = Math.max(...arr);
        result.push(value);
    }

    result.push(-1);

    return result;
};
반응형
저작자표시 (새창열림)
    'Problem Solved/LeetCode' 카테고리의 다른 글
    • [Leetcode][Javascript] Max Consecutive Ones
    • [LeetCode][Javascript] Number of 1 Bits
    • [leetCode][javascript] 448번 문제 - Find All Numbers Disappeared in an Array
    • [LeetCode] 125번 문제 - Valid Palindrome
    개발후라이
    개발후라이
    어제보다 오늘 발전하기 위한 공간 https://github.com/choisohyun

    티스토리툴바

    개인정보

    • 티스토리 홈
    • 포럼
    • 로그인

    단축키

    내 블로그

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

    블로그 게시글

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

    모든 영역

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

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