알고리즘 문제풀이 2

#2_ 피보나치 함수(백준 1003번, 파이썬 풀이)

문제다음 소스는 N번째 피보나치 함수를 구하는 함수이다. 1234567891011int fibonacci(int n) { if (n==0) { printf("0"); return 0; } else if (n==1) { printf("1"); return 1; } else { return fibonacci(n‐1) + fibonacci(n‐2); }}Colored by Color Scriptercs fibonacci(3) 을 호출하면 다음과 같은 일이 일어난다.fibonacci(3) 은 fibonacci(2) 와 fibonacci(1) (첫 번째 호출)을 호출한다.fibonacci(2) 는 fibonacci(1) (두 번째 호출)과 fibonacci(0) 을 호출한다.두 번째 호출한 fibonacci(1)..

#1_ 1로 만들기(백준 1463번, 파이썬 풀이)

문제정수 X에 사용할 수 있는 연산은 다음과 같이 세 가지 이다.1. X가 3으로 나누어 떨어지면, 3으로 나눈다.2. X가 2로 나누어 떨어지면, 2로 나눈다.3. 1을 뺀다. 정수 N이 주어졌을 때, 위와 같은 연산 세 개를 적절히 사용해서 1을 만들려고 한다. 연산을 사용하는 횟수의 최소값을 출력하시오. 입력첫째 줄에 1보다 크거나 같고, 10^6보다 작거나 같은 자연수 N이 주어진다. 출력첫째 줄에 연산을 하는 횟수의 최소값을 출력한다. 예제 입력 : 2예제 출력 : 1 예제 입력2 : 10예제 출력2 : 3 처음에는 알고리즘을 단순하게 생각했다가 바로 틀려버린 문제입니다.먼저 최종 정답으로 통과한 코드는 아래와 같습니다. 123456789101112131415161718192021222324a ..

728x90