728x90
반응형

알고리즘 114

[Baekjoon 1914 / python / 실버1] 하노이 탑

n = int(input())def hanoi(no, start, end, mid): # no번 원반을 start에서 end로 옮긴다    if no == 1: # 원반이 1개라면 위에 방해되는 원반이 없으니 즉시 옮긴다        print(start, end)        return        else:        hanoi(no-1, start, mid, end) # 2개 이상이면 위에 방해되는 원반을 치운다         print(start, end) # 방해되는거 치웠으니 원래 옮기려던거 목표자리에 옮긴다        hanoi(no-1, mid, end, start) # 치워둔것도 목표자리에 옮긴다if n 20:    print(2 ** n - 1) # 최소횟수 출력    hanoi..

Algorithm/Recursion 2024.03.23

[Baekjoon 10872 / python / 브론즈3] 팩토리얼

def factorial(n): if n > 0: return n * (factorial(n - 1)) else: return 1 n = int(input()) print(factorial(n)) 팩토리얼은 n! 으로 표기하며, 1부터 n까지의 수를 곱하면 된다. 팩토리얼은 재귀함수로 표현할 수 있으며, 재귀함수는 자기 자신과 똑같은 함수를 호출하는 함수이다. 물론 팩토리얼의 구현은 재귀함수로 하지 않는 게 더 효율적이지만, 팩토리얼이 재귀함수를 호출할 때 사용되는 대표적인 예이기 때문에 재귀함수로 구현하였다.

Algorithm/Recursion 2024.03.22

[Baekjoon/JAVA] 백준 10815번 숫자 카드

주어지는 숫자의 범위가 매우 크기 때문에, 일일이 비교하는 방법보다는 이분 탐색 알고리즘을 이용해야 합니다. import java.util.*; import java.io.*; public class Main { public static void main(String[] args) throws IOException { BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); StringBuilder sb = new StringBuilder(); StringTokenizer st; int n = Integer.parseInt(br.readLine()); int cards[] = new int[n]; st = new StringTok..

728x90
반응형