전체 글133 백준 - 6603번 문제 https://www.acmicpc.net/problem/6603 6603번: 로또 입력은 여러 개의 테스트 케이스로 이루어져 있다. 각 테스트 케이스는 한 줄로 이루어져 있다. 첫 번째 수는 k (6 < k < 13)이고, 다음 k개 수는 집합 S에 포함되는 수이다. S의 원소는 오름차순으로 www.acmicpc.net 코드 import sys def set(start, index): if index == 6: for i in range(6): print(f'{temp[i]}', end=' ') print() for i in range(start, len(lst)): temp[index] = lst[i] set(i+1, index+1) temp = [0] * 13 while True: lst = .. 2020. 11. 19. 알고리즘 - 재귀 알고리즘(3) 8퀸 문제 여기서 말하는 퀸은 체스 말 중 하나인 Queen입니다. 퀸은 체스판에서 가로, 세로, 대각선으로 움직일 수 있는데 8퀸 문제는 8개의 퀸이 서로 공격했을 때, 잡을 수 없게 배치하는 문제입니다. 8퀸 문제도 하노이 탑과 마찬가지로 경우를 나누어 생각해보겠습니다. 1. 열에서 겹치지 않게, 2. 행에서 겹치지 않게, 3. 대각선으로 겹치지 않게입니다. 1. 열에서 겹치지 않게 pos = [0] * 8 # 각 열에서 퀸의 위치를 출력, pos[index] = x 일 때, index는 현재 열, x는 행 def put() -> None: # 각 열에 배치한 퀸의 위치를 출력 for i in range(8): print(f'{pos[i]:2}', end='') print() def set(i: in.. 2020. 11. 19. 백준 - 17478번 문제 https://www.acmicpc.net/problem/17478 17478번: 재귀함수가 뭔가요? 평소에 질문을 잘 받아주기로 유명한 중앙대학교의 JH 교수님은 학생들로부터 재귀함수가 무엇인지에 대하여 많은 질문을 받아왔다. 매번 질문을 잘 받아주셨던 JH 교수님이지만 그는 중앙대 www.acmicpc.net 코드 def first(cnt): if cnt > 1: first(cnt - 1) print('____' * (cnt - 1) + '"재귀함수가 뭔가요?"') print('____' * (cnt - 1) + '"잘 들어보게. 옛날옛날 한 산 꼭대기에 이세상 모든 지식을 통달한 선인이 있었어.') print('____' * (cnt - 1) + '마을 사람들은 모두 그 선인에게 수많은 질문을.. 2020. 11. 18. 백준 - 1914번 문제 https://www.acmicpc.net/problem/1914 1914번: 하노이 탑 세 개의 장대가 있고 첫 번째 장대에는 반경이 서로 다른 n개의 원판이 쌓여 있다. 각 원판은 반경이 큰 순서대로 쌓여있다. 이제 수도승들이 다음 규칙에 따라 첫 번째 장대에서 세 번째 장대로 www.acmicpc.net 코드 def move(N, x, y): if N > 1: move(N-1, x, 6-x-y) print(str(x) + ' ' + str(y)) if N > 1: move(N-1, 6-x-y, y) N = int(input()) print(2 ** N - 1)# 횟수 if N 2020. 11. 18. 이전 1 ··· 9 10 11 12 13 14 15 ··· 34 다음