전체 글

전체 글

    [백준-10870] 피보나치 수 5

    피보나치 수 5 문제 피보나치 수는 0과 1로 시작한다. 0번째 피보나치 수는 0이고, 1번째 피보나치 수는 1이다. 그 다음 2번째 부터는 바로 앞 두 피보나치 수의 합이 된다. 이를 식으로 써보면 Fn = Fn-1 + Fn-2 (n ≥ 2)가 된다. n=17일때 까지 피보나치 수를 써보면 다음과 같다. 0, 1, 1, 2, 3, 5, 8, 13, 21, 34, 55, 89, 144, 233, 377, 610, 987, 1597 n이 주어졌을 때, n번째 피보나치 수를 구하는 프로그램을 작성하시오. 입력 첫째 줄에 n이 주어진다. n은 20보다 작거나 같은 자연수 또는 0이다. 출력 첫째 줄에 n번째 피보나치 수를 출력한다. 예제 입력 1 복사 10 예제 출력 1 복사 55 문제 분석 Fn = Fn-1..

    [백준-10872] 팩토리얼

    팩토리얼 문제 0보다 크거나 같은 정수 N이 주어진다. 이때, N!을 출력하는 프로그램을 작성하시오. 입력 첫째 줄에 정수 N(0 ≤ N ≤ 12)이 주어진다. 출력 첫째 줄에 N!을 출력한다. 예제 입력 1 복사 10 예제 출력 1 복사 3628800 예제 입력 2 복사 0 예제 출력 2 복사 1 문제 분석 N! = N x N-1 x N-2 ... 2 x 1 0! = 1 순차적으로 1씩 빼서 곱하는 형태 해결 각 숫자를 함수로 생각 예외처리(중요) n이 0과 1인 경우 1을 반환해야 합니다 n이 2인 경우 2를 반환 n이 0과1인 경우와 2인 경우로 나눈 이유 : 1번이라도 함수 호출 줄이기 위해 1 2 3 4 5 6 7 8 9 val = int(input()) def fact(n): if n == 0..

    [백준-3009] 네 번째 점

    네 번째 점 문제 세 점이 주어졌을 때, 축에 평행한 직사각형을 만들기 위해서 필요한 네 번째 점을 찾는 프로그램을 작성하시오. 입력 세 점의 좌표가 한 줄에 하나씩 주어진다. 좌표는 1보다 크거나 같고, 1000보다 작거나 같은 정수이다. 출력 직사각형의 네 번째 점의 좌표를 출력한다. 예제 입력 1 복사 5 5 5 7 7 5 예제 출력 1 복사 7 7 예제 입력 2 복사 30 20 10 10 10 20 예제 출력 2 복사 30 10 문제 분석 마지막 한 점 해결 각 X와 Y좌표는 3개씩 입력 받습니다. 각 좌표에 맞는 짝이 있으므로 마지막 좌표는 짝이 없는 좌표 값만 구하면 됩니다. 매칭 되는 값이 있으면 0이 되는 성질을 이용 비트 연산자 사용 1 2 3 4 5 6 x = y = 0 for _ in..