[๋ฐฑ์ค€] 2447 ๋ณ„ ์ฐ๊ธฐ - 10 (python ํŒŒ์ด์ฌ)

2023. 7. 30. 04:37ยท๐Ÿงฉ Problem Solving/[๋ฐฑ์ค€]
 

2447๋ฒˆ: ๋ณ„ ์ฐ๊ธฐ - 10

์žฌ๊ท€์ ์ธ ํŒจํ„ด์œผ๋กœ ๋ณ„์„ ์ฐ์–ด ๋ณด์ž. N์ด 3์˜ ๊ฑฐ๋“ญ์ œ๊ณฑ(3, 9, 27, ...)์ด๋ผ๊ณ  ํ•  ๋•Œ, ํฌ๊ธฐ N์˜ ํŒจํ„ด์€ N×N ์ •์‚ฌ๊ฐํ˜• ๋ชจ์–‘์ด๋‹ค. ํฌ๊ธฐ 3์˜ ํŒจํ„ด์€ ๊ฐ€์šด๋ฐ์— ๊ณต๋ฐฑ์ด ์žˆ๊ณ , ๊ฐ€์šด๋ฐ๋ฅผ ์ œ์™ธํ•œ ๋ชจ๋“  ์นธ์— ๋ณ„์ด

www.acmicpc.net


๊ฑฐ์˜ 1๋…„ ์ „์— ํ’€์—ˆ๋˜ ๋ฌธ์ œ. ์ง„์งœ ์•„๋ฌด๋Ÿฐ ๊ณ„๊ธฐ ์—†์ด ๊ทธ๋ƒฅ ๋œฌ๊ธˆ์—†์ด ๋‹ค์‹œ ์ƒ๊ฐ๋‚˜์„œ ํ’€์–ด๋ดค๋‹ค. ๋‹คํ–‰ํžˆ ํ•ด๊ฒฐ

 

์ด ๋ฌธ์ œ๋Š” ์žฌ๊ท€์˜ ํŠน์ง•์„ ์ž˜ ์ดํ•ดํ•˜๋ฉด  ํ•ด๊ฒฐํ•  ์ˆ˜ ์žˆ๋Š” ๋ฌธ์ œ๋‹ค.

๊ดœ์ฐฎ์€ ๋ฌธ์ œ์ธ ๊ฑฐ ๊ฐ™๋‹ค. ๊ผญ ํ’€๊ณ  ๋‚˜์„œ ์ž์‹ ์˜ ๊ฒƒ์œผ๋กœ ์ฒดํ™”ํ•˜์ž.


์•„์ด๋””์–ด

์‚ฌ๊ณ ๋ฅผ ํ’€์–ด๊ฐ€๋Š” ๊ฑฐ๋ผ ์ข€ ์ถ”์ƒ์ ์ผ ์ˆ˜ ์žˆ๋‹ค.

 

์ผ๋‹จ ์ฒซ ๋ฒˆ์งธ N = 3์ธ ๊ฒฝ์šฐ๋Š” ๋‹ค์Œ๊ณผ ๊ฐ™๋‹ค.

***

*  *

***

๊ทธ๋ฆฌ๊ณ  N = 9์ธ ๊ฒฝ์šฐ๋Š” ๋‹ค์Œ๊ณผ ๊ฐ™๋‹ค.

์—ฌ๊ธฐ์„œ ํŒจํ„ด์„ ๋‚˜๋ˆ ๋ณด๋ฉด ํฌ๊ฒŒ AํŒŒํŠธ(๋นจ๊ฐ„์ƒ‰), BํŒŒํŠธ(ํŒŒ๋ž€์ƒ‰)๋กœ ๋‚˜๋ˆŒ ์ˆ˜ ์žˆ๋‹ค.

AํŒŒํŠธ๋Š” N = 3์„ ์˜†์œผ๋กœ 3๋ฐฐ ๋Š˜๋ฆฐ ๊ฑฐ๊ณ 

BํŒŒํŠธ๋„ AํŒŒํŠธ์™€ ์œ ์‚ฌํ•˜์ง€๋งŒ ๊ฐ€์šด๋ฐ๋Š” ๊ณต๋ฐฑ ' ' ์œผ๋กœ ์ฑ„์šด ๊ฑธ ๋ณผ ์ˆ˜ ์žˆ๋‹ค.

 

N = 27, N = 81๋„ ์ด ๋ฐฉ์‹์œผ๋กœ ๋Š˜๋ ค์ฃผ๋ฉด ๋œ๋‹ค.

 

๊ทธ๋Ÿผ ์ด์ œ ์ด๊ฑธ ์ฝ”๋“œ๋กœ ๊ตฌํ˜„ํ•˜๋ฉด ๋จ.


์ „์ฒด ์ฝ”๋“œ

init = ['***', '* *', '***']

N = int(input())

def recursion(n = 3, arr = init):

    if n == N:
        return arr

    tmp = []

    for i in range(n):
        tmp.append(arr[i] * 3)

    for i in range(n):
        tmp.append(arr[i] + ' ' * n + arr[i])

    for i in range(n):
        tmp.append(arr[i] * 3)

    return recursion(n * 3, tmp)

answer = recursion(3, init)

for line in answer:
    print(line)

์ฝ”๋“œ ์„ค๋ช…

init = ['***', '* *', '***']

N = int(input())

์ผ๋‹จ N = 3์ธ ๊ฒฝ์šฐ๋Š” ๋ฏธ๋ฆฌ ๋ฆฌ์ŠคํŠธ๋กœ ๋งŒ๋“ค์–ด ์ค€๋‹ค.

 

def recursion(n = 3, arr = init):

    if n == N:
        return arr

    tmp = []

    for i in range(n):
        tmp.append(arr[i] * 3)

    for i in range(n):
        tmp.append(arr[i] + ' ' * n + arr[i])

    for i in range(n):
        tmp.append(arr[i] * 3)

    return recursion(n * 3, tmp)

 

์ผ๋‹จ ๋ณ„ ํŒจํ„ด์„ ๋‹ด์„ ๋นˆ ๋ฆฌ์ŠคํŠธ(tmp)๋ฅผ ์„ ์–ธํ•ด ์ค€๋‹ค.

 

๊ทธ๋ฆฌ๊ณ  ์œ„์—์„œ ์„ค๋ช…ํ•œ AํŒŒํŠธ, BํŒŒํŠธ๋ฅผ ๋‚˜๋ˆ ์„œ ์‹คํ–‰ํ•ด ์ค€๋‹ค.

ํŒŒ์ด์ฌ์€ ๊ฐ„๋‹จํ•˜๊ฒŒ ๊ตฌํ˜„ ๊ฐ€๋Šฅํ•˜๋‹ค. append๋ฅผ ์ด์šฉํ•ด ํ•œ ์ค„์”ฉ tmp์— ๋‹ด์•„์ค€๋‹ค.

 

๊ทธ๋ฆฌ๊ณ  n์˜ ๊ฐ’์ด N์ด ๋  ๋•Œ๊นŒ์ง€ ์žฌ๊ท€ ํ•จ์ˆ˜๋ฅผ ํ˜ธ์ถœํ•ด์ค€๋‹ค.

n == N์ด๋ฉด ๋ฆฌ์ŠคํŠธ๋ฅผ return ํ•ด์ค€๋‹ค.

 

๋งˆ์ง€๋ง‰์œผ๋กœ ํ•œ ์ค„์”ฉ ์ถœ๋ ฅํ•ด ์ฃผ๋ฉด ๋.

 

์ €์ž‘์žํ‘œ์‹œ (์ƒˆ์ฐฝ์—ด๋ฆผ)

'๐Ÿงฉ Problem Solving > [๋ฐฑ์ค€]' ์นดํ…Œ๊ณ ๋ฆฌ์˜ ๋‹ค๋ฅธ ๊ธ€

[๋ฐฑ์ค€] 18110 solved.ac (+๋ฐ˜์˜ฌ๋ฆผ ํ•จ์ˆ˜ round์— ๋Œ€ํ•ด) (python ํŒŒ์ด์ฌ)  (0) 2023.08.23
[๋ฐฑ์ค€] 2839 ์„คํƒ• ๋ฐฐ๋‹ฌ (feat.DP) (python ํŒŒ์ด์ฌ)  (0) 2023.08.20
[๋ฐฑ์ค€] 28018 ์‹œ๊ฐ„์ด ๊ฒน์น ๊นŒ?(feat.imos๋ฒ•) (python ํŒŒ์ด์ฌ)  (0) 2023.07.18
[๋ฐฑ์ค€] 28303 ์ž์„ (+ ์—ฐ์† ๊ตฌ๊ฐ„์˜ ์ตœ๋Œ€ ํ•ฉ) (python ํŒŒ์ด์ฌ)  (0) 2023.07.05
[๋ฐฑ์ค€] 28286 ์žฌ์ฑ„์ ์„ ๊ธฐ๋‹ค๋ฆฌ๋Š” ์ค‘ (python ํŒŒ์ด์ฌ)  (0) 2023.07.05
'๐Ÿงฉ Problem Solving/[๋ฐฑ์ค€]' ์นดํ…Œ๊ณ ๋ฆฌ์˜ ๋‹ค๋ฅธ ๊ธ€
  • [๋ฐฑ์ค€] 18110 solved.ac (+๋ฐ˜์˜ฌ๋ฆผ ํ•จ์ˆ˜ round์— ๋Œ€ํ•ด) (python ํŒŒ์ด์ฌ)
  • [๋ฐฑ์ค€] 2839 ์„คํƒ• ๋ฐฐ๋‹ฌ (feat.DP) (python ํŒŒ์ด์ฌ)
  • [๋ฐฑ์ค€] 28018 ์‹œ๊ฐ„์ด ๊ฒน์น ๊นŒ?(feat.imos๋ฒ•) (python ํŒŒ์ด์ฌ)
  • [๋ฐฑ์ค€] 28303 ์ž์„ (+ ์—ฐ์† ๊ตฌ๊ฐ„์˜ ์ตœ๋Œ€ ํ•ฉ) (python ํŒŒ์ด์ฌ)
์ œ๋ด‰์•„
์ œ๋ด‰์•„
  • ์ œ๋ด‰์•„
    Overthinking
    ์ œ๋ด‰์•„
    fake it till you make it.
  • ์ „์ฒด
    ์˜ค๋Š˜
    ์–ด์ œ
    • ๋ถ„๋ฅ˜ ์ „์ฒด๋ณด๊ธฐ (104)
      • ๐Ÿงฉ Problem Solving (83)
        • [๋ฐฑ์ค€] (74)
        • [ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค] (7)
        • [SW Expert Academy] (1)
        • [์•Œ๊ณ ๋ฆฌ์ฆ˜ for PS] (1)
      • ๐Ÿ“ฆ Data Structure (2)
      • ๐Ÿ“œ Language (14)
        • [python] (14)
      • ๐Ÿ–ค Git (1)
      • ๐ŸŒ† ์ผ์ƒ (2)
        • ๐Ÿ’ฌ ๋ฒฝ๋ณด๊ณ  ๋งํ•˜๊ธฐ (2)
      • ๐Ÿ—„๏ธ ๊ธฐํƒ€ (2)
      • ๐Ÿ”ต css (0)
  • ๋ธ”๋กœ๊ทธ ๋ฉ”๋‰ด

    • ํ™ˆ
    • ํƒœ๊ทธ
    • ๋ฐฉ๋ช…๋ก
  • ๋งํฌ

  • ๊ณต์ง€์‚ฌํ•ญ

  • ์ธ๊ธฐ ๊ธ€

  • ํƒœ๊ทธ

    imos
    ๋ถ„ํ•  ์ •๋ณต
    ๋ฐฑ์ค€
    Python
    ๋ƒ…์ƒ‰
    DFS
    ํ”Œ๋กœ์ด๋“œ ์™€์ƒฌ
    ์žฌ๊ท€
    ๋ธŒ๋ฃจํŠธํฌ์Šค
    ์Šคํƒ
    ์œ„์ƒ์ •๋ ฌ
    ๊ตฌํ˜„
    ํŒŒ์ด์ฌ
    ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค
    ๋‹ค์ต์ŠคํŠธ๋ผ
    ํŒฐ๋ฆฐ๋“œ๋กฌ
    SWEA
    BFS
    ๋ฐฑํŠธ๋ž˜ํ‚น
    ๋ถ€๋ถ„ํ•ฉ
    ํˆฌํฌ์ธํ„ฐ
    slicing
    ๋ˆ„์ ํ•ฉ
    ๊ทธ๋ฆฌ๋””
    ํ”Œ๋กœ์ด๋“œ์›Œ์…œ
    Bruteforce
    boj
    DP
    ์ •์ฒ˜๊ธฐ
    ๋ฐ๋ธŒ์ฝ”์Šค
  • ์ตœ๊ทผ ๋Œ“๊ธ€

  • ์ตœ๊ทผ ๊ธ€

  • hELLOยท Designed By์ •์ƒ์šฐ.v4.10.3
์ œ๋ด‰์•„
[๋ฐฑ์ค€] 2447 ๋ณ„ ์ฐ๊ธฐ - 10 (python ํŒŒ์ด์ฌ)
์ƒ๋‹จ์œผ๋กœ

ํ‹ฐ์Šคํ† ๋ฆฌํˆด๋ฐ”