본문 바로가기

재귀함수3

[백준] 15650번 : N과 M (2) (C++) 15650번 : N과 M (2) 문제) 자연수 N과 M이 주어졌을 때, 아래 조건을 만족하는 길이가 M인 수열을 모두 구하는 프로그램을 작성하시오. 1부터 N까지 자연수 중에서 중복 없이 M개를 고른 수열 고른 수열은 오름차순이어야 한다. 입력 : 첫째 줄에 자연수 N과 M이 주어진다. (1 ≤ M ≤ N ≤ 8) 출력 : 한 줄에 하나씩 문제의 조건을 만족하는 수열을 출력한다. 중복되는 수열을 여러 번 출력하면 안되며, 각 수열은 공백으로 구분해서 출력해야 한다. 수열은 사전 순으로 증가하는 순서로 출력해야 한다. 풀이) 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 .. 2024. 2. 15.
[백준] 20208번 : 진우의 민트초코우유 (C++) 20208번 : 진우의 민트초코우유 문제) 진우는 민트초코우유를 좋아하는 민초단이다. 힘든 일이 있더라도 민트초코우유 하나를 마시면 기운이 펄펄 솟는다고 한다! 민트초코우유를 너무 좋아하는 나머지 진우는 매일 아침 특정 지역들에서 민트초코우유가 배달된다는 N × N 크기의 2차원 민초마을로 이사를 하였다. 진우는 아침에 눈을 뜨면 집에서 민초마을의 지도를 들고 민트초코우유를 찾으러 출발한다. 이때의 초기 체력은 M이다. 여기에서 체력은 진우가 이동할 수 있는 거리를 나타낸다. 진우는 지도상에서 상, 하, 좌, 우로 1칸씩 이동할 수 있으며 이동하면 체력이 1만큼 줄어든다. 진우가 마을을 돌아다니다가 민트초코우유를 마신다면 체력이 H 만큼 증가하며 진우의 체력이 초기체력 이상으로 올라갈 수 있다. 체력이 .. 2023. 10. 4.
[알고리즘] 재귀함수(recursion function) 개인 공부 후 자료를 남겨놓기 위한 목적이므로, 생략되거나 오류가 있을 수 있음을 알립니다. 설명에 대한 지적은 언제나 환영입니다. :) 재귀함수 들어가기에 앞서. 재귀함수가 무엇인지 알아보기 전에, 이 유튜브 영상을 먼저 보고 와보자. 그저 4시간 동안 의미없는 반복되는 영상으로 보일 것이다. 이 영상이 무엇을 의미하는지 이제 알아보도록 하자. 1. 재귀함수란? 재귀함수란 무엇일까? 국어사전에서 재귀 란 을 의미한다. 따라서 재귀 + 함수 이므로 설명 그대로 함수내에서 자기 자신을 불러 작업을 수행하는 함수를 의미한다. 다음과 같은 함수가 있다고 하자. 이 recur() 함수 내에서 recur를 다시 부르면 어떻게 될까? 어려울게 없다. 다음과 해당 함수안에서 자기 자신을 반복하는 형태가 될 것이고 이.. 2022. 6. 30.