ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • [๋ฐฑ์ค€] 1342 ํ–‰์šด์˜ ๋ฌธ์ž์—ด with Python
    PS 2022. 3. 1. 03:58
    728x90
    ๋ฐ˜์‘ํ˜•

    ๐Ÿ“Œ BOJ 1342 ํ–‰์šด์˜ ๋ฌธ์ž์—ด

    ๐Ÿ’ก ์กฐ๊ฑด

    1. ์ธ์ ‘ํ•ด ์žˆ๋Š” ๋ชจ๋“  ๋ฌธ์ž๊ฐ€ ๊ฐ™์ง€ ์•Š์€ ๋ฌธ์ž์—ด์„ ํ–‰์šด์˜ ๋ฌธ์ž์—ด์ด๋ผ๊ณ  ํ•œ๋‹ค๊ณ  ํ•œ๋‹ค.

    2. ์ค€์˜์ด๋Š” ๋ฌธ์ž์—ด S์— ๋‚˜์˜ค๋Š” ๋ฌธ์ž๋ฅผ ์žฌ๋ฐฐ์น˜ํ•˜๋ฉด ์„œ๋กœ ๋‹ค๋ฅธ ํ–‰์šด์˜ ๋ฌธ์ž์—ด์ด ๋ช‡ ๊ฐœ ๋‚˜์˜ค๋Š”์ง€ ๊ถ๊ธˆํ•ด์กŒ๋‹ค.

    3. ๋งŒ์•ฝ ์›๋ž˜ ๋ฌธ์ž์—ด S๋„ ํ–‰์šด์˜ ๋ฌธ์ž์—ด์ด๋ผ๋ฉด ๊ทธ๊ฒƒ๋„ ๊ฐœ์ˆ˜์— ํฌํ•จํ•œ๋‹ค.

    4. S์˜ ๊ธธ์ด๋Š” ์ตœ๋Œ€ 10์ด๊ณ , ์•ŒํŒŒ๋ฒณ ์†Œ๋ฌธ์ž๋กœ๋งŒ ์ด๋ฃจ์–ด์ ธ ์žˆ๋‹ค.

    5. ์ฒซ์งธ ์ค„์— ์œ„์น˜๋ฅผ ์žฌ๋ฐฐ์น˜ํ•ด์„œ ์–ป์€ ์„œ๋กœ ๋‹ค๋ฅธ ํ–‰์šด์˜ ๋ฌธ์ž์—ด์˜ ๊ฐœ์ˆ˜๋ฅผ ์ถœ๋ ฅํ•œ๋‹ค.

    6. ๋ธŒ๋ฃจํŠธํฌ์Šค ์•Œ๊ณ ๋ฆฌ์ฆ˜ ์œ ํ˜•์˜ ๋ฌธ์ œ

    ๐Ÿ–ฅ ์†Œ์Šค ์ฝ”๋“œ

    from sys import stdin
    
    arr = stdin.readline().rstrip()
    cnt = 0
    point = [0 for _ in range(26)]
    for i in arr:
        point[ord(i) - 97] += 1
    
    
    def solve(goal, p):
        global cnt
        if goal == 0:
            cnt += 1
            return
    
        for c in set(list(arr)):
            if point[ord(c) - 97] > 0 and c != p:
                point[ord(c) - 97] -= 1
                solve(goal - 1, c)
                point[ord(c) - 97] += 1
    
    
    solve(len(arr), '')
    print(cnt)

    ๐Ÿ”– ์˜ˆ์ œ ๋ฐ ์‹คํ–‰๊ฒฐ๊ณผ

    ์˜ˆ์ œ

    abcdefghij

    ์‹คํ–‰๊ฒฐ๊ณผ

    3628800

    โŒจ๏ธ ๋ฌธ์ œ ํ’€์ด

    1. ๋ธŒ๋ฃจํŠธํฌ์Šค ์•Œ๊ณ ๋ฆฌ์ฆ˜์œผ๋กœ ํ•ด๊ฒฐํ•˜๋Š” ๋ฌธ์ œ์˜€์Šต๋‹ˆ๋‹ค.

    2. arr ์— ์ž…๋ ฅ๋ฐ›์€ ๋ฌธ์ž์—ด์„ ์ €์žฅํ•œ ๋’ค, ์ˆœ์ฐจ์ ์œผ๋กœ ์ˆœํšŒํ•˜๋ฉด์„œ point ๋ฐฐ์—ด์— ์ ์ˆ˜๋ฅผ ๋ถ€์—ฌํ•ฉ๋‹ˆ๋‹ค.

    3. solve() ํ•จ์ˆ˜๋Š” ์žฌ๊ท€ํ•จ์ˆ˜์ž…๋‹ˆ๋‹ค.

    4. arr ์— ์žˆ๋Š” ์ค‘๋ณต๋˜์ง€ ์•Š๋Š” ๋ฌธ์ž๋ฅผ ํ•˜๋‹ˆ์”ฉ ๋„ฃ์œผ๋ฉด์„œ ๋งŒ๋“ค ์ˆ˜ ์žˆ๋Š” ๋ฌธ์ž์—ด๋งˆ๋‹ค cnt๋ฅผ ํ•˜๋‚˜์”ฉ ๋Š˜๋ ค์ค๋‹ˆ๋‹ค.

    5. cnt๋ฅผ ์ถœ๋ ฅํ•ฉ๋‹ˆ๋‹ค.

    ๐Ÿ’พ ๋Š๋‚€์ 

    1. ์žฌ๊ท€ํ•จ์ˆ˜๋ฅผ ํ†ตํ•ด์„œ ๋ธŒ๋ฃจํŠธํฌ์Šค๋ฅผ ๊ตฌํ˜„ํ–ˆ์Šต๋‹ˆ๋‹ค.
    2. ํŒŒ์ด์ฌ์—์„œ๋Š” pypy๋กœ ์ฑ„์ ์ด ๊ฐ€๋Šฅํ–ˆ์Šต๋‹ˆ๋‹ค.
    3. ์‹œ๊ฐ„์„ ๋‹จ์ถ•ํ•  ์ˆ˜ ์žˆ๋Š” ๋ฐฉ๋ฒ•์„ ์ƒ๊ฐํ•ด๋ณด๋Š” ๊ฒƒ๋„ ์ข‹๊ฒ ์Šต๋‹ˆ๋‹ค.
    ๋ฐ˜์‘ํ˜•

    ๋Œ“๊ธ€

Designed by Tistory.