[프로그래머스][Level2][Java] 멀리 뛰기

2022. 6. 14. 18:22·프로그래머스/Level 2

문제

https://programmers.co.kr/learn/courses/30/lessons/12914

 

코딩테스트 연습 - 멀리 뛰기

효진이는 멀리 뛰기를 연습하고 있습니다. 효진이는 한번에 1칸, 또는 2칸을 뛸 수 있습니다. 칸이 총 4개 있을 때, 효진이는 (1칸, 1칸, 1칸, 1칸) (1칸, 2칸, 1칸) (1칸, 1칸, 2칸) (2칸, 1칸, 1칸) (2칸, 2

programmers.co.kr

 

풀이 코드

public long solution(int n) {           //멀리 뛰기
    long answer = 0;
    long f = 1;
    long s = 2;
    if (n == 1) {
        return 1;
    } else if (n == 2) {
        return 2;
    } else {
        for (int i = 3; i <= n; i++) {
            answer = (f + s) % 1234567;
            f = s;
            s = answer;
        }
        return answer;
    }

}

이 문제는 풀어보면 생각보다 간단하다.

n = 1일때부터 n = 4일때까지 간단히 예시를 들어보겠다.

n = 1일때 -> (1)

n = 2일때 -> (1+1),(2)

n = 3일때 -> (1+2),(1+1+1),(2+1)

n = 4일때 -> (1+1+2),(2+2),(1+2+1),(1+1+1+1),(2+1+1)

여기서 보면 색으로 구분해놔서 알아보기 쉬운데 보면

n일때 나올 수 있는 방법은 n-1에서 나올 수 있는 방법에 1칸 추가 + n-2에서 나올 수 있는 방법에 2칸 추가이고

n일때 경우의 수는 n-1일때 경우의 수 + n-2일때 경우의 수가 된다.

근데 숫자가 너무 커지는 것을 방지해서 문제에서 1234567을 나눠주라고 했으므로 %1234567을 한 것이고,

그래서 코드가 위와 같이 나온다.

저작자표시 비영리 (새창열림)

'프로그래머스 > Level 2' 카테고리의 다른 글

[프로그래머스][Level2][Java] 줄 서는 방법  (0) 2022.08.26
[프로그래머스][Level2][Java] 하노이의 탑  (0) 2022.08.26
[프로그래머스][Level2][Java] 구명보트  (0) 2022.06.11
[프로그래머스][Level2][Java] 예상대진표  (0) 2022.06.11
[프로그래머스][Level2][Java] 전화번호 목록  (0) 2022.06.11
'프로그래머스/Level 2' 카테고리의 다른 글
  • [프로그래머스][Level2][Java] 줄 서는 방법
  • [프로그래머스][Level2][Java] 하노이의 탑
  • [프로그래머스][Level2][Java] 구명보트
  • [프로그래머스][Level2][Java] 예상대진표
BvrPark
BvrPark
코드 퍼즐과 개발 일상
  • BvrPark
    비버의 개발 일지
    BvrPark
  • 전체
    오늘
    어제
    • 분류 전체보기 (121)
      • JAVA (7)
        • 메서드 외울 것 (2)
      • 프로그래머스 (56)
        • 총 풀이 코드(깃허브) (1)
        • Level 1 (22)
        • Level 2 (33)
      • 백준 알고리즘(단계 별) (16)
        • 총 풀이 코드(깃허브) (1)
        • 1. 입출력과 사칙연산 (2)
        • 2. if 문 (2)
        • 3. for문 (1)
        • 4. while문 (2)
        • 5. 1차원 배열 (3)
        • 6. 함수 (1)
        • 7. 문자열 (1)
        • 8. 기본수학 1 (3)
      • 백준 알고리즘(solved.ac) (9)
        • 총 풀이 코드(깃허브) (1)
        • class2 (8)
      • LeetCode 문제 풀이 (4)
        • 총 풀이 코드(깃허브) (1)
        • Easy (3)
      • 코드업 알고리즘 (7)
      • git과 github사용법 (4)
      • html, css, javaScript (2)
      • 프로젝트 (11)
        • 순수 Java 프로젝트 (2)
        • 쇼핑몰 프로젝트 (2)
        • 게시판 프로젝트 (5)
        • 근태관리 프로젝트 (2)
      • 커피타임 (2)
        • 2023년 (2)
        • 2024년 (0)
  • 블로그 메뉴

    • 링크

      • 포트폴리오
      • 깃허브
    • 공지사항

    • 인기 글

    • 태그

    • 최근 댓글

    • 최근 글

    • Designed By정상우
    BvrPark
    [프로그래머스][Level2][Java] 멀리 뛰기
    상단으로

    티스토리툴바