알고리즘90 Algorithm - 부분집합 구하기(DFS) 알고리즘 입문 수업을 듣고 중요한 내용을 정리했습니다. 개인 공부 후 자료를 남기기 위한 목적이므로 내용 상에 오류가 있을 수 있습니다. 문제 [부분집합 구하기(DFS)] 자연수 N이 주어지면 1부터 N까지의 원소를 갖는 집합의 부분집합을 모두 출력하는 프로그램을 작성하시오. *입력 설명 첫 번째 출에 자연수 N(1 ≤ N ≤ 10)이 주어진다. *출력 설명 첫 번째 줄부터 각 줄에 하나씩 부분집합을 출력한다. 단, 공집합은 출력하지 않는다. 풀이(Python) 답안 import sys sys.stdin = open('AA/input_45.txt', 'rt') def DFS(v): if v == n+1: for i in range(1, n+1): if ch[i] == 1: print(i, end=' ').. 2021. 12. 16. Algorithm - 이진트리 순회(DFS : Depth First Search) 알고리즘 입문 수업을 듣고 중요한 내용을 정리했습니다. 개인 공부 후 자료를 남기기 위한 목적이므로 내용 상에 오류가 있을 수 있습니다. 문제 [이진트리 순회(DFS)] 아래와 그림을 참조하여, 이진트리의 전위순회·중위순회·후위순회를 출력하는 프로그램을 작성하시오. *입력 설명 첫 번째 줄에 이진트리의 루트노드 값이 주어진다. *출력 설명 첫 번째 줄에 전위순회·중위순회·후위순회의 결과 값을 출력한다. 풀이(Python) 답안(전위순회) import sys sys.stdin = open('AA/input_44.txt', 'rt') def DFS(v): if v > 7: return else: print(v, end=' ') DFS(v*2) DFS(v*2+1) if __name__ =="__main__":.. 2021. 12. 16. Algorithm - 재귀함수를 활용한 이진수 출력 알고리즘 입문 수업을 듣고 중요한 내용을 정리했습니다. 개인 공부 후 자료를 남기기 위한 목적이므로 내용 상에 오류가 있을 수 있습니다. 문제 [재귀함수를 활용한 이진수 출력] 10진수 N이 입력되면 2진수로 변환하여 출력하는 프로그램을 작성하시오. (단, 재귀함수를 이용하여 출력해야 함) *입력 설명 첫 번째 줄에 10진수 N(1 ≤ N ≤ 1,000)이 주어진다. *출력 설명 첫 번째 줄에 이진수를 출력한다. 풀이(Python) 답안 import sys sys.stdin = open('AA/input_43.txt', 'rt') def DFS(x): if x == 0: return else: DFS(x // 2) print(x % 2, end=' ') if __name__ == "__main__": n.. 2021. 12. 14. Algorithm - 재귀함수와 스택 자료구조(선수지식) 알고리즘 입문 수업을 듣고 중요한 내용을 정리했습니다. 개인 공부 후 자료를 남기기 위한 목적이므로 내용 상에 오류가 있을 수 있습니다. 선수지식(algorithm) 간단한 예제를 통해 재귀함수와 스택 자료구조의 원리를 이해하고자 한다. 예제(Python) 답안 import sys sys.stdin = open('AA/input_preknowledge.txt', 'rt') def DFS(x): if x > 0: DFS(x-1) print(x, end=' ') if __name__ == "__main__": n = int(input()) DFS(n) # 출력 : 1 2 3 input_preknowledge.txt(입력) 3 중요내용 재귀함수는 자기자신을 호출하는 함수이다. 재귀함수가 작동하는 과정에서 스택.. 2021. 12. 14. Algorithm - 최대힙 알고리즘 입문 수업을 듣고 중요한 내용을 정리했습니다. 개인 공부 후 자료를 남기기 위한 목적이므로 내용 상에 오류가 있을 수 있습니다. 문제 [최대힙] 최대힙은 완전이진트리로 구현된 자료구조이다. 그 구성은 부모 노드값이 왼쪽자식과 오른쪽자식의 노드 값보다 크게 트리를 구성하는 것이다. 그렇게 하면 트리의 루트(root)노드에는 입력된 값들 중 가장 큰 값이 저장된다. 예를 들어, 5 3 2 1 4 6 7순으로 입력되면 최대힙 트리는 아래와 같이 구성된다. 최대힙 자료를 이용하여 다음의 연산을 하는 프로그램을 작성하시오. 자연수가 입력되면 최대힙에 입력한다. 숫자 0이 입력되면 최대힙에서 최대값을 꺼내어 출력한다. (단, 출력할 자료가 없으면 -1를 출력함) -1이 입력되면 프로그램을 종료한다. *입력.. 2021. 12. 9. Algorithm - 최소힙 알고리즘 입문 수업을 듣고 중요한 내용을 정리했습니다. 개인 공부 후 자료를 남기기 위한 목적이므로 내용 상에 오류가 있을 수 있습니다. 문제 [최소힙] 최소힙은 완전이진트리로 구현된 자료구조 이다. 그 구성은 부모 노드값이 왼쪽자식과 오른쪽자식 노드 값보다 작게 트리룰 구성하는 것이다. 그렇게 하면 트리의 루트(root)노드에는 입력된 값들 중 가장 작은 값이 저장된다. 예를 들어, 5 3 2 1 4 6 7순으로 입력되면 최소힙 트리는 아래와 같이 구성된다. 최소힙 자료를 이용하여 다음의 연산을 하는 프로그램을 작성하시오. 자연수가 입력되면 최소힙에 입력한다. 숫자 0이 입력되면 최소힙에서 최소값을 꺼내어 출력한다. (단, 출력할 자료가 없으면 -1을 출력함) -1이 입력되면 프로그램을 종료한다. *입.. 2021. 12. 9. 이전 1 ··· 5 6 7 8 9 10 11 ··· 15 다음