개발후라이
개발후라이
개발후라이
  • 분류 전체보기 (285)
    • Web Front End (74)
      • Javascript & Typescript (26)
      • React (11)
      • Vue (4)
      • Nodejs (1)
      • HTML (6)
      • CSS (7)
      • 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
  • 홈

인기 글

태그

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

최근 댓글

최근 글

전체 방문자
오늘
어제

티스토리

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

[HackerRank][Javascript] Jumping on the Clouds

Problem Solved/HackerRank

[HackerRank][Javascript] Jumping on the Clouds

2020. 6. 7. 17:35
반응형

문제

Jumping on the Clouds

문제 설명

0만 건널 수 있는 구름이 가질 수 있는 최소 이동 횟수를 구하는 문제

실패한 풀이 설명

  • 문제에서 건널 수 있는 구름의 조건은 한 번에 2개까지의 구름만 넘을 수 있다는 것과 1의 구름은 무조건 건너뛴다는 것이다.
  • 첫 풀이가 실패한 이유는 두 개의 조건에서 건너뛴다의 조건을 코드로 적지 못해서이다.
  • 조건을 나름대로 적었지만 건너뛰지 않고 동떨어진 jump라는 변수만 0~2 사이를 왔다갔다 하게 된다.

성공한 풀이 설명

  • if문의 늪에 빠져서 팀원들과 stackoverflow의 도움으로 문제를 다시 풀고 이해하려고 노력했다.
  • 가장 중요한 것은 현재 수의 다다음 수를 검사해야 한다는 것이다.
  • 바로 다음 수가 0인지 1인지 비교하고 0이어서 갔는데 거기서 그 다음 수가 1이 나오면 다시 1개만 건너뛸 수 있게 돼 비교가 복잡해 진다.
  • 현재 숫자가 0이고 다다음 수가 1이면 1칸만 이동하고 count에는 1이 추가된다.
  • 중간에 for문의 인덱스가 1 추가되면 for문에서 기본적으로 추가되는 인덱스 1과 합쳐져 2가 더해지게 되므로 2칸 뛰어넘기를 할 수 있게 된다.

실패한 풀이

// 완전 다 틀린 풀이
function jumpingOnClouds(c) {
  let result = 0;
  let jump = 0;

  c.forEach((value, index) => {
    if (value === 0) {
      if (c[index + 1] === 1 || (jump === 1 && index + 1 >= c.length)) result++;
      if (jump < 2) jump++;
      if (jump === 2) {
        jump = 0;
        result++;
      }
    } else {
      jump = 0;
      result++;
    }
  });

  return result;
}

성공한 풀이

function jumpingOnClouds(c) {
  let result = 0;

  for (let i = 0; i < c.length - 1; i++) {
    if (c[i + 2] === 0) i++;

    result++;
  }

  return result;
}
반응형
저작자표시 (새창열림)
  • 실패한 풀이
  • 성공한 풀이
'Problem Solved/HackerRank' 카테고리의 다른 글
  • [HackerRank][Javascript] Repeated String
  • [HackerRank][Javscript] Counting Valleys
  • [HackerRank][Javascript] Sock Merchant
  • [HackerRank] Day 9: Recursion 3(재귀3)
개발후라이
개발후라이
어제보다 오늘 발전하기 위한 공간 https://github.com/choisohyun

티스토리툴바

단축키

내 블로그

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

블로그 게시글

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

모든 영역

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

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