목록2021/06 (10)
1. 문제정의 최근 개인 사업을 시작한 광성이는 매일 아침마다 은행에 가서 동전과 지폐들을 교환해 오는 것이 일이다. 현금으로 물건 값을 지불할 경우 조금 더 싸게 한 덕분에 현금으로 구입하는 사람이 많은데, 대부분의 손님들이 물건 값보다는 더 많은 돈을 내서 꼭 거스름돈이 필요해지는 일이 발생하기 때문이다. 그래서 최대한 적은 지폐랑 동전을 사용하여 거스름돈을 주고 싶은데, 광성이를 위해서 물건값과 받은 금액이 주어졌을 때, 거스름돈으로 지불할 지폐 혹은 동전의 최소 개수를 출력하는 프로그램을 작성하시오. 입력 첫줄에는 테스트 케이스 수 둘째 줄부터 T + 1번째 줄까지는 물건의 값과 받은 금액이 주어진다. 출력 각 줄에 하나씩, 거스름돈으로 줄 5만원권, 1만원권, 5천원권, 1천원권, 5백원, 10..
1. 문제정의 전산학에서 트리 순회(Tree traversal)는 트리 구조에서 각각의 노드를 정확히 한 번만, 체계적인 방법으로 방문하는 과정을 말한다. 이는 노드를 방문하는 순서에 따라 분류된다. 여기서 설명하는 알고리즘은 이진 트리에 대해서 작성되었지만, 다른 모든 트리에서도 일반화될 수 있다. 2. 문제 설계 연결 리스트와 1차원 배열과 같은 선형 자료 구조에서는 한 가지의 논리적인 순회 방법만이 존재하지만, 트리 구조의 순회에는 많은 방법이 존재한다. 이진 트리의 루트 노드에서 시작해서, 세 가지 주요 단계를 거치며 순회를 진행하는데, 그 단계에는 현재 노드를 방문하는 것, 왼쪽 자식 노드를 순회하는 것과 오른쪽 자식 노드를 순회하는 것이 있다. 이러한 과정은 재귀로 쉽게 설명할 수 있다. 전위..