브루트포스 3

리모컨

문제 수빈이는 TV를 보고 있다. 수빈이는 채널을 돌리려고 했지만, 버튼을 너무 세게 누르는 바람에, 일부 숫자 버튼이 고장났다. 리모컨에는 버튼이 0부터 9까지 숫자, +와 -가 있다. +를 누르면 현재 보고있는 채널에서 +1된 채널로 이동하고, -를 누르면 -1된 채널로 이동한다. 채널 0에서 -를 누른 경우에는 채널이 변하지 않고, 채널은 무한대 만큼 있다. 수빈이가 지금 이동하려고 하는 채널은 N이다. 어떤 버튼이 고장났는지 주어졌을 때, 채널 N으로 이동하기 위해서 버튼을 최소 몇 번 눌러야하는지 구하는 프로그램을 작성하시오. 수빈이가 지금 보고 있는 채널은 100번이다. 입력 첫째 줄에 수빈이가 이동하려고 하는 채널 N (0 ≤ N ≤ 500,000)이 주어진다. 둘째 줄에는 고장난 버튼의 개..

재귀용법2(recursive call, 재귀호출) : Brute-Force Algorithm

- 모든 경우를 시도해봄으로써 답을 구하는 방법 - 모든 겨우를 시도해보는 코드를 짜기가 까다로운 경우 예) N개의 카드가 있고, 각각은 1부터 N까지의 번호를 찾는다. 이를 한 줄로 세울 수 있는 모든 경우를 출력하시오 N = 3 (3중 반복문 필요) 123 132 213 231 312 321 - N중 반복문을 돌려야한다? 재귀호출 #아이디어 1 2 3 4 5 6 7 8 9 10 n = 3 def doRecursion(x): # x번 째 for문을 실행 if x > n: pass #print numbers else: for i range(1, n+1): if 아직숫자 i가 없다면, x번 째 for에서 숫자 i를 등록하고, doRecursion(x+1) doRecursion(1) Colored by Co..

반응형