# 문제
피보나치 배열은 0과 1로 시작하며,
다음 피보나치 수는 바로 앞의 두 피보나치 수의 합이 된다.
정수 N이 주어지면, N보다 작은 모든 짝수 피보나치 수의 합을 구하여라.
<예제>
Input: N = 12
Output: 10 // 0, 1, 2, 3, 5, 8 중 짝수인 2 + 8 = 10.
----------------------
시간 복잡도의 대한 언급이 없다.
간단하게 풀렸다.
하지만, 나는 for문을 돌렸지만 다른 사람들은 While문을 돌렸다.
While문을 쓰는게 더 소스코드가 간소화 되어 보인다.
너무 for문만 쓰지 말고 While문도 사용해 봐야겠다.
# 메인 타이틀
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 | public class HelloAlgorithm { public int Solution(int N){ int preValue = 1; int tempValue = 1; int result = 0; // 피보나치 수열로 N의 값까지 반복문을 돌린다. for(int i = 1; i <= N; i = i + preValue){ // 임시 저장한 이전값을 받아온다. preValue = tempValue; // 짝수일 경우 결과값의 합 연산을 진행 if((i % 2) == 0){ result += i; } // 이전값을 임시 저장한다. tempValue = i; } return result; } public static void main(String[] args){ HelloAlgorithm TempClass = new HelloAlgorithm(); System.out.println(TempClass.Solution(89)); } } | cs |
# 마무리
위 포스트는 제가 직접 제작한 것 입니다.
그렇기 때문에 틀린점이나 설명이 엉성한 점이 존재할 수 있습니다.
만약 틀린점이나 설명이 엉성한 부분이 존재하면 댓글로 알려주세요.
빠른 처리 하도록 하겠습니다.
티스토리 앱으로는 댓글 이용이 불가능 하므로 웹 브라우저로 봐 주세요
(URL : http://junprogramer.tistory.com/)
읽어주셔서 감사합니다.
'잡다한 기술' 카테고리의 다른 글
[Node.JS]비쥬얼 스튜디오(Visual studio)에서 Node.JS를 사용할 때 JSON.parse가 안되는 현상 (0) | 2018.05.29 |
---|---|
우아한형제들 1차 코딩 테스트 합격 (0) | 2018.05.24 |
[알고리즘]배열의 이어지는 인터벌 최대합 구하기 (0) | 2018.05.21 |
우아한 형제들 1차 코딩 테스트 (0) | 2018.05.19 |
[코딜리티/Codility] CyclicRotation 문제 (0) | 2018.05.18 |