티스토리 뷰
1. 문제
https://programmers.co.kr/learn/courses/30/lessons/43104
2. 설명
그냥 규칙찾아서 재귀로 풀어버렸는데 알고보니 피보나치 문제였다 ㅋㅋ...
피보나치로 따로 다시 풀었다 ㅋㅋ
3-1. 코드 - 제멋대로 규칙
class Solution {
static long answer;
public long solution(int N) {
answer = 4; // N은 1이상의 자연수
round(N, 1, 1, 1);
return answer;
}
private void round(int N, int idx, long shortSide, long longSide) {
if(idx==N) return;
answer += (longSide * 2);
long tmp = shortSide;
shortSide = longSide;
longSide += tmp;
round(N, ++idx, shortSide, longSide);
}
}
3-2. 코드 - 피보나치
class Solution {
public long solution(int N) {
long[] fibonacci = new long[N];
fibonacci[0] = 1;
fibonacci[1] = 1;
for(int i=2; i<fibonacci.length; i++) {
fibonacci[i] = fibonacci[i-1] + fibonacci[i-2];
}
return round(N, fibonacci);
}
private long round(int N, long[] fibonacci) {
return fibonacci[N-1] * 4 + fibonacci[N-2] * 2;
}
}
'알고리즘 풀이 > 프로그래머스' 카테고리의 다른 글
프로그래머스 짝지어 제거하기 JAVA (0) | 2020.06.18 |
---|---|
프로그래머스 정수 삼각형 JAVA (0) | 2020.06.17 |
프로그래머스 종이접기 JAVA (0) | 2020.06.15 |
프로그래머스 [3차] 파일명 정렬 JAVA (0) | 2020.06.10 |
프로그래머스 [3차] n진수 게임 JAVA (0) | 2020.06.05 |
댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
- Total
- Today
- Yesterday