ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • [λ°±μ€€] 1855 μ•”ν˜Έ with Python
    PS 2022. 3. 1. 22:42
    728x90
    λ°˜μ‘ν˜•

    πŸ“Œ BOJ 1855 μ•”ν˜Έ

    πŸ’‘ 쑰건

    1. λ¨Όμ € μ•”ν˜Έν™” ν•  λ¬Έμžμ—΄μ„ 1,1λΆ€ν„° μœ„μ—μ„œ μ•„λž˜ μˆœμ„œλŒ€λ‘œ μ±„μš΄λ‹€. 그리고 κ°€μž₯ λ°‘μ˜ 행을 μ±„μš΄ ν›„μ—λŠ” 였λ₯Έμͺ½ μ—΄μ—μ„œ λ‹€μ‹œ 같은 과정을 λ°˜λ³΅ν•œλ‹€.

    2. μ•”ν˜Έν™” 된 λ¬Έμžμ—΄κ³Ό λͺ‡ 개의 μ—΄λ‘œ μ•”ν˜Έν™”λ₯Ό ν•˜μ˜€λŠ”μ§€ μ£Όμ–΄μ Έ μžˆμ„ λ•Œ μ›λž˜μ˜ λ¬Έμžμ—΄μ„ κ΅¬ν•˜λŠ” ν”„λ‘œκ·Έλž¨μ„ μž‘μ„±ν•˜λŠ” 문제.

    3. μ—΄μ˜ 개수 K(1 ≀ K ≀ 20)κ°€ 주어진닀.
      두 번째 μ€„μ—λŠ” μ•”ν˜Έν™” 된 λ¬Έμžμ—΄(λͺ¨λ‘ μ˜μ†Œλ¬Έμž)이 주어진닀.

    4. (λ¬Έμžμ—΄μ˜ κΈΈμ΄λŠ” 200 μ΄ν•˜μ΄λ©° K의 λ°°μˆ˜μ΄λ‹€.)

    5. κ΅¬ν˜„, λ¬Έμžμ—΄ μœ ν˜•μ˜ 문제

    πŸ–₯ μ†ŒμŠ€ μ½”λ“œ

    from sys import stdin
    
    n = int(stdin.readline())
    s = stdin.readline().rstrip()
    arr = []
    for i in range(0, len(s), n):
        arr.append(list(s[i:i+n]))
    
    for i in range(len(arr)):
        if i % 2 != 0:
            data = list(reversed(arr[i]))
            arr[i] = data
    
    res = ''
    for j in range(n):
        for i in range(len(arr)):
            res += arr[i][j]
    print(res)

    πŸ”– 예제 및 μ‹€ν–‰κ²°κ³Ό

    예제

    3
    aeijfbcgklhd

    μ‹€ν–‰κ²°κ³Ό

    abcdefghijkl

    ⌨️ 문제 풀이

    1. μ—΄μ˜ κ°œμˆ˜μ™€ λ¬Έμžμ—΄μ„ μž…λ ₯λ°›κ³ , μ—΄μ˜ κ°œμˆ˜μ— 맞게 λ¬Έμžμ—΄μ„ μͺΌκ°œμ„œ arr λ¦¬μŠ€νŠΈμ— μ €μž₯ν•œλ‹€.

    2. arr의 ν–‰μ˜ 개수만큼 μˆœνšŒν•˜λ©΄μ„œ iλ₯Ό 2둜 λ‚˜λˆ„μ—ˆμ„ λ•Œ, 0인 경우 arr[i] 을 뒀집어 arr에 λ‹€μ‹œ μ €μž₯ν•œλ‹€.

    3. 결과값을 담을 res λ³€μˆ˜μ— arr 배열을 μ°¨λ‘€λŒ€λ‘œ μˆœνšŒν•˜λ©΄μ„œ res에 λ¬Έμžμ—΄μ„ μΆ”κ°€ν•΄μ€€λ‹€.

    πŸ’Ύ λŠλ‚€μ 

    1. μΉœμ ˆν•˜κ³  μž¬λ―ΈμžˆλŠ” λ¬Έμžμ—΄ + κ΅¬ν˜„ λ¬Έμ œμ˜€μŠ΅λ‹ˆλ‹€.
    λ°˜μ‘ν˜•

    λŒ“κΈ€

Designed by Tistory.