ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • ๋ฐฑ์ค€ 12605 : ๋‹จ์–ด์ˆœ์„œ ๋’ค์ง‘๊ธฐ (print ์„ฑ๋Šฅ)
    ๐Ÿ“ Algorithms 2023. 2. 20. 15:09

     

    ๋” ๋งŽ์€ ํ’€์ด

     

    Algorithms & Data structures

    ๐Ÿ“ ์Šคํ„ฐ๋”” ์ •๋ณด

    graceful-canary-e9f.notion.site

    ๐Ÿ“ ๋ฌธ์ œ ์š”์•ฝ


    ์ž…๋ ฅํ•œ ๋ฌธ์žฅ์„ ๋„์–ด์“ฐ๊ธฐ ๊ธฐ์ค€์œผ๋กœ ์ชผ๊ฐ  ํ›„ ๋ฐ˜๋Œ€์˜ ์ˆœ์„œ๋Œ€๋กœ ์ถœ๋ ฅํ•˜๋Š” ๋ฌธ์ œ.

    • ์ž…๋ ฅ

    ์ฒซ์งธ์ค„ - ํ…Œ์ŠคํŠธ ์ผ€์ด์Šค ์ˆ˜

    n - ๋’ค์ง‘์„ ๋ฌธ์žฅ ๋ฌธ์žฅ

    • ์ถœ๋ ฅ

    ๋ฐ˜๋Œ€ ์ˆœ์„œ๋กœ ์ถœ๋ ฅ

     

    ๐Ÿ“ ๋ฌธ์ œ ํ’€์ด


    1. ์‚ฌ์šฉ ์ž๋ฃŒ๊ตฌ์กฐ ๋ฐ ์•Œ๊ณ ๋ฆฌ์ฆ˜
      • ์Šคํƒ
        • ๋ฐฐ์—ด ๋‚ด ์›์†Œ๋ฅผ ๋’ค์ง‘๊ธฐ ์œ„ํ•ด ๋งˆ์ง€๋ง‰ ์›์†Œ(last-in)๋ฅผ ๋จผ์ € ๊บผ๋‚ด์•ผํ•œ๋‹ค(last-out)๋Š” ์ƒ๊ฐ๊ณผ ํ•จ๊ป˜ ์Šคํƒ์„ ์‚ฌ์šฉ
    2. ๋ฌธ์ œ ํ’€์ด
    • ๊ฒ€์ฆ๋˜์ง€ ์•Š์€ ๊ฐ€์ •

    popํ•œ ์›์†Œ๋ฅผ ๋‹ด์€ **์ƒˆ๋กœ์šด ์Šคํƒ์„ ์ƒ์„ฑํ•จ์œผ๋กœ์จ ๋” ํฐ ๋ฉ”๋ชจ๋ฆฌ๋ฅผ ์ฐจ์ง€ํ•  ๊ฒƒ(X)**์ด๋ผ ์ƒ๊ฐ → ๋ฐฉ๋ฒ• 2๋Œ€๋กœ, popํ•œ ์›์†Œ๋ฅผ ๊ฐœํ–‰๋ฌธ์ž ์ œ๊ฑฐ ํ›„ ๊ทธ๋•Œ ๊ทธ๋•Œ ํ”„๋ฆฐํŠธํ•˜์—ฌ ๋ฉ”๋ชจ๋ฆฌ๋ฅผ ์ ˆ์•ฝํ•  ์ˆ˜ ์žˆ์„ ๊ฒƒ์ด๋ผ ์ƒ๊ฐ → ํ•˜์ง€๋งŒ ๋ฐฉ๋ฒ• 1๊ณผ ๋ฉ”๋ชจ๋ฆฌ ์‚ฌ์šฉ๋Ÿ‰์€ ๋™์ผํ–ˆ๊ณ , ์‹œ๊ฐ„์ด ์˜คํžˆ๋ ค print๊ตฌ๋ฌธ์„ ๋งŽ์ด ์‚ฌ์šฉํ–ˆ์„ ๋•Œ ๋” ์†Œ์š”๋จ์„ ํ™•์ธ.

    # ๋ฉ”๋ชจ๋ฆฌ 113112KB
    # ์‹œ๊ฐ„ 112ms
    
    # ๋ฐฉ๋ฒ• 1. 
    import sys
    
    input = sys.stdin.readline
    
    N = int(input())
    for i in range(1, N+1):
        char_lst = input().rstrip().split()
        print(f"Case #{i}:", end= " ")
        while char_lst:
            print(char_lst.pop(), end=" ") # ํ•œ๋ฒˆ์— ํ”„๋ฆฐํŠธ or ์—ฌ๋Ÿฌ๋ฒˆ ํ”„๋ฆฐํŠธ!
    
    # ๋ฉ”๋ชจ๋ฆฌ 113112KB
    # ์‹œ๊ฐ„ 108ms
    
    # ๋ฐฉ๋ฒ• 2. **์ฑ„ํƒ ๋‘๋‘ฅ**
    import sys
    input = sys.stdin.readline
    
    N = int(input())
    for i in range(1, N+1):
        char_lst = input().rstrip().split()
        stk = [] 
        while char_lst:
            stk.append(char_lst.pop())
        print(f"Case #{i}:", " ".join(stk)) 
    

     

    • ์ด์ „ ๊ฐ’์„ ์ฐธ์กฐํ•œ ์ƒˆ๋กœ์šด ์Šคํƒ ์ƒ์„ฑ

    ์•„๋ž˜ ์˜ˆ์ œ๋ฅผ ๋งŒ๋“ค์–ด๋ณด์•˜์Šต๋‹ˆ๋‹ค. ์ด๋ฏธ ์ƒ์„ฑ๋œ ๊ฐ’(๋ณ€์ˆ˜,์Šคํƒ,๋ฐฐ์—ด)์„ ์ฐธ์กฐํ•˜์—ฌ ์ƒˆ๋กœ์šด ๊ฐ’์„ ์ƒ์„ฑํ•˜๋Š” ๊ฒฝ์šฐ, ๊ธฐ์กด ์ƒ์„ฑ๋œ ๊ฐ’์˜ ๋ฉ”๋ชจ๋ฆฌ ์ฃผ์†Œ๊ฐ€ ๋‹ด๊ธฐ๊ฒŒ ๋ฉ๋‹ˆ๋‹ค.

    ๋”ฐ๋ผ์„œ, ํ•ด๋‹น ๋ฌธ์ œ์ฒ˜๋Ÿผ ์ด์ „ ์Šคํƒ๊ฐ’์„ ์ฐธ์กฐํ•ด ์—ญ์ˆœ์˜ ์ƒˆ ์Šคํƒ์„ ์ƒ์„ฑํ•˜๋Š” ๊ฒฝ์šฐ์— ์ถ”๊ฐ€์ ์ธ ๋ฉ”๋ชจ๋ฆฌ ์†Œ๋ชจ๊ฐ€ ๋ฐœ์ƒํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.

    stk1 = [1,2,3,4]
    stk1_cp = stk1.copy()
    
    stk2 = []
    while stk1:
        stk2.append(stk1.pop())
    
    for x,y in zip(stk1_cp, reversed(stk2)):
        print("๋ฉ”๋ชจ๋ฆฌ ์ฃผ์†Œ ๋™์ผ" if id(x) == id(y) else "์ƒ์ด") # id(๋ณ€์ˆ˜): ๋ฉ”๋ชจ๋ฆฌ ์ฃผ์†Œ ํ™•์ธ
    
    • ๋ฐฐ์šด ์ 

    ๊ฒ€์ฆ์—†๋Š” ๊ฐ€์ •์„ ๊ธฐ๋ฐ˜์œผ๋กœ ํ•œ ์ƒ๊ฐ์€ ์œ„ํ—˜ํ•˜๋‹ค. ๋งŽ์€ ๋ฌธ์ œ๋“ค์„ ์—ฐ์Šตํ•ด๋ณด๋ฉฐ ๊ฐ€์ •์„ ๊ฒ€์ฆํ•ด๋ณด์ž.

     

     

Designed by Tistory.