ffinn92 / Keep-at-solve-it

꾸준히 알고리즘 풀기 위한 스터디 저장소입니다.
2 stars 3 forks source link

[220616][검봉][인프런](10-1) 계단오르기 #76

Closed crispindeity closed 2 years ago

crispindeity commented 2 years ago

📌 문제

⭐️ 아이디어

🤔 고민한 내용

💪 새롭게 배운 내용

🆘 이해가 어려운 내용

❌ 해결하지 못한 이유

✅ 본인 풀이

🏋️‍♀️ 시도횟수 : 1회 | ⏱ 걸린시간 : 106ms | 💾 메모리 : 26MB

package etc;

import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.OutputStreamWriter;

public class ClimbingStairs {
    static class Main {
        public int solution(int numberOfStairs) {
            int answer = 0;
            int[] numberOfWays = new int[numberOfStairs];
            numberOfWays[0] = 1;
            numberOfWays[1] = 2;

            for (int i = 2; i < numberOfStairs; i++) {
                numberOfWays[i] = numberOfWays[i - 1] + numberOfWays[i - 2];
            }

            answer = numberOfWays[numberOfStairs - 1];
            return answer;
        }

        public static void main(String[] args) throws IOException {
            BufferedReader bufferedReader = new BufferedReader(new InputStreamReader(System.in));
            BufferedWriter bufferedWriter = new BufferedWriter(new OutputStreamWriter(System.out));

            int numberOfStairs = Integer.parseInt(bufferedReader.readLine());

            Main main = new Main();

            int result = main.solution(numberOfStairs);

            bufferedReader.close();

            bufferedWriter.write(String.valueOf(result));
            bufferedWriter.flush();
            bufferedWriter.close();
        }
    }
}

참고한 자료