ν‹°μŠ€ν† λ¦¬ λ·°

728x90
λ°˜μ‘ν˜•

문제

 

SW Expert Academy

SW ν”„λ‘œκ·Έλž˜λ° μ—­λŸ‰ 강화에 도움이 λ˜λŠ” λ‹€μ–‘ν•œ ν•™μŠ΅ 컨텐츠λ₯Ό ν™•μΈν•˜μ„Έμš”!

swexpertacademy.com

 

문제 풀이

 ν…Œμ΄λΈ” μœ„μ— N, S극의 μ„±μ§ˆμ„ λ›°λŠ” μžμ„±μ²΄κ°€ μžˆμ„ λ•Œ 자기μž₯을 κ°€ν•  경우 N, S극이 λ§Œλ‚˜ 더 이상 움직이지 λͺ»ν•˜λŠ” κ΅μ°©μƒνƒœκ°€ λ˜λŠ” 경우λ₯Ό λ°˜ν™˜ν•˜λŠ” λ¬Έμ œμ΄λ‹€. μ²˜μŒμ— 문제λ₯Ό μ ‘ν•˜μ˜€μ„ λ•ŒλŠ” Nκ·Ή S극의 영ν–₯을 λͺ¨λ‘ μ£Όμ–΄ λ³€ν™”μ‹œμΌœμ•Ό ν•œλ‹€κ³  μƒκ°ν•˜μ˜€λŠ”λ° λ‹€μ‹œ 생각해보면, Nκ·Ή Sκ·Ή 쀑 ν•˜λ‚˜λ§Œ 영ν–₯을 λ°›λŠ”λ‹€κ³  μƒκ°ν•˜κ³  이동을 μ‹œν‚€λ©΄ λœλ‹€.

 

예λ₯Ό λ“€μ–΄ S극에 μ΄λŒλ¦¬λŠ” Nκ·Ή μžμ„±μ²΄λ₯Ό μ΄λ™ν•˜κ³ μž ν•˜λ©΄, 아무것도 μ—†λŠ” 경우 μ΄λ™ν•˜κ³  S극인 μžμ„κ³Ό λ§Œλ‚˜λŠ” 경우 `κ΅μ°©μƒνƒœ`κ°€ λœλ‹€.

 

μ½”λ“œ

EMPTY, N, S = 0, 1, 2

for test_case in range(1, 11):
    answer = 0
    length = int(input())
    array = [list(map(int, input().split())) for _ in range(length)]

    for i in range(length - 1):
        for j in range(length):
            if array[i][j] == N:
                # μ•„λž˜μΉΈμ΄ S극이면, ꡐ착 μƒνƒœ
                if array[i + 1][j] == S:
                    answer += 1
                elif array[i + 1][j] == EMPTY:
                    array[i + 1][j] = array[i][j]

    print('#' + str(test_case), answer)

 

728x90
λ°˜μ‘ν˜•

'πŸ‘¨β€πŸ’» μ½”λ”©ν…ŒμŠ€νŠΈ > SWEA' μΉ΄ν…Œκ³ λ¦¬μ˜ λ‹€λ₯Έ κΈ€

SWEA: 1225 μ•”ν˜Έμƒμ„±κΈ°  (0) 2020.10.07
SWEA: 1221 GNS  (0) 2020.10.07
SWEA: 1215 회문1  (0) 2020.10.07
SWEA: 1209 Sum  (0) 2020.10.07
SWEA: 1208 Flatten  (0) 2020.10.07
λŒ“κΈ€
κΈ€ 보관함
μ΅œκ·Όμ— 올라온 κΈ€
μ΅œκ·Όμ— 달린 λŒ“κΈ€