๐Ÿ’ป์ฝ”๋”ฉํ…Œ์ŠคํŠธ ๋ฌธ์ œ ํ’€์ด3

์ง€๋ฏผ์„œยท2023๋…„ 3์›” 10์ผ
0

coding test

๋ชฉ๋ก ๋ณด๊ธฐ
3/30

Chapter5. ์žฌ๊ท€

[๋ฌธ์ œ17] ํ•˜๋…ธ์ด์˜ ํƒ‘ - Level3

ํ•˜๋…ธ์ด ํƒ‘์€ ํผ์ฆ์˜ ์ผ์ข…์ž…๋‹ˆ๋‹ค. ์„ธ ๊ฐœ์˜ ๊ธฐ๋‘ฅ๊ณผ ์ด ๊ธฐ๋‘ฅ์— ๊ฝ‚์„ ์ˆ˜ ์žˆ๋Š” ํฌ๊ธฐ๊ฐ€ ๋‹ค์–‘ํ•œ ์›ํŒ๋“ค์ด ์žˆ๊ณ , ํผ์ฆ์„ ์‹œ์ž‘ํ•˜๊ธฐ ์ „์—๋Š” ํ•œ ๊ธฐ๋‘ฅ์— ์›ํŒ๋“ค์ด ์ž‘์€ ๊ฒƒ์ด ์œ„์— ์žˆ๋„๋ก ์ˆœ์„œ๋Œ€๋กœ ์Œ“์—ฌ ์žˆ์Šต๋‹ˆ๋‹ค. ๊ฒŒ์ž„์˜ ๋ชฉ์ ์€ ๋‹ค์Œ ๋‘ ๊ฐ€์ง€ ์กฐ๊ฑด์„ ๋งŒ์กฑ์‹œํ‚ค๋ฉด์„œ, ํ•œ ๊ธฐ๋‘ฅ์— ๊ฝ‚ํžŒ ์›ํŒ๋“ค์„ ๊ทธ ์ˆœ์„œ ๊ทธ๋Œ€๋กœ ๋‹ค๋ฅธ ๊ธฐ๋‘ฅ์œผ๋กœ ์˜ฎ๊ฒจ์„œ ๋‹ค์‹œ ์Œ“๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค.

- ํ•œ ๋ฒˆ์— ํ•˜๋‚˜์˜ ์›ํŒ๋งŒ ์˜ฎ๊ธธ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

- ํฐ ์›ํŒ์ด ์ž‘์€ ์›ํŒ ์œ„์— ์žˆ์–ด์„œ๋Š” ์•ˆ ๋ฉ๋‹ˆ๋‹ค.

ํ•˜๋…ธ์ด ํƒ‘์˜ ์„ธ ๊ฐœ์˜ ๊ธฐ๋‘ฅ์„ ์™ผ์ชฝ๋ถ€ํ„ฐ 1๋ฒˆ, 2๋ฒˆ, 3๋ฒˆ์ด๋ผ๊ณ  ํ•˜๋ฉด 1๋ฒˆ์—๋Š” n๊ฐœ์˜ ์›ํŒ์ด ์žˆ๊ณ  ์ด n๊ฐœ์˜ ์›ํŒ์„ 3๋ฒˆ ์›ํŒ์œผ๋กœ ์ตœ์†Œ ํšŸ์ˆ˜๋กœ ์˜ฎ๊ธฐ๋ ค๊ณ  ํ•œ๋‹ค.

1๋ฒˆ ๊ธฐ๋‘ฅ์— ์žˆ๋Š” ์›ํŒ์˜ ๊ฐœ์ˆ˜ n์ด ๋งค๊ฐœ๋ณ€์ˆ˜๋กœ ์ฃผ์–ด์งˆ ๋•Œ, n๊ฐœ์˜ ์›ํŒ์„ 3๋ฒˆ ์›ํŒ์œผ๋กœ ์ตœ์†Œ๋กœ ์˜ฎ๊ธฐ๋Š” ๋ฐฉ๋ฒ•์„ returnํ•˜๋Š” solution๋ฅผ ์™„์„ฑํ•ด์ฃผ์„ธ์š”.

- n์€ 15์ดํ•˜์˜ ์ž์—ฐ์ˆ˜์ž…๋‹ˆ๋‹ค.

  1. 1๋ฒˆ ์›ํŒ์„ 3๋ฒˆ ํƒ‘์œผ๋กœ ์ด๋™
  2. 2๋ฒˆ ์›ํŒ์„ 2๋ฒˆ ํƒ‘์œผ๋กœ ์ด๋™
  3. 1๋ฒˆ ์›ํŒ์„ 2๋ฒˆ ํƒ‘์œผ๋กœ ์ด๋™
  4. 3๋ฒˆ ์›ํŒ์„ 3๋ฒˆ ํƒ‘์œผ๋กœ ์ด๋™
  5. 1๋ฒˆ ์›ํŒ์„ 1๋ฒˆ ํƒ‘์œผ๋กœ ์ด๋™
  6. 2๋ฒˆ ์›ํŒ์„ 3๋ฒˆ ํƒ‘์œผ๋กœ ์ด๋™
  7. 1๋ฒˆ ์›ํŒ์„ 3๋ฒˆ ํƒ‘์œผ๋กœ ์ด๋™
//๊ณผ์ •1//
def hanoi(n, start, mid, to):
	hanoi(n - 1, start, mid, to)
    [start, to]
    hanoi(n - 1, mid, to, start)
    
hanoi(3, 1, 3, 2)
//๊ณผ์ •2//
def hanoi(n, start, to, mid, answer):
	if n == 1:
    	return answer.append([start, to])
	hanoi(n - 1, start, mid, to, answer)
    answer.append([start, to])
    hanoi(n - 1, mid, to, start, answer)
//์ตœ์ข… ์ •๋‹ต//
def hanoi(n, start, to, mid, answer):
	if n == 1:
    	return answer.append([start, to])
	hanoi(n - 1, start, mid, to, answer)
    answer.append([start, to])
    hanoi(n - 1, mid, to, start, answer)
    
def solution(n):
	answer = []
    hanoi(n, 1, 3, 2, answer)
    return answer
profile
๐Ÿ’ป + ๐ŸŽฅ

0๊ฐœ์˜ ๋Œ“๊ธ€