[SWEA][Python]#1210. Ladder1

MEIN_FIGURΒ·2021λ…„ 8μ›” 13일
0

SWEA_λ¬Έμ œν’€μ΄

λͺ©λ‘ 보기
14/21

πŸ“Œν’€μ΄


λ‚΄κ°€ μ“΄ 풀이(성곡)

for tc in range(1, 11):
    n = int(input())
    arr = []
    for _ in range(100):
        arr.append(list(map(int, input().split())))
    
    idx = 99 # idx : μ‹œμž‘ν•˜λŠ” yκ°’
    x = arr[idx].index(2) # x : 맨 끝 λ„μ°©μ μ˜ xκ°’
    for idx in range(99, -1, -1):
        left = x-1
        right = x+1 
        # μ™Όμͺ½μ— 값이 μ‘΄μž¬ν•˜λŠ” 경우, μ™Όμͺ½μœΌλ‘œ λ„μ°©ν• λ•ŒκΉŒμ§€ 이동
        if 0<=left<100 and arr[idx][left]:
            # μ˜¬λΌκ°€λŠ” 곳이 있으면 정지
            while not arr[idx-1][left]:
                left -= 1
            x = left
        # 였λ₯Έμͺ½μ— 값이 μ‘΄μž¬ν•˜λŠ” 경우, 였λ₯Έμͺ½μœΌλ‘œ λ„μ°©ν• λ•ŒκΉŒμ§€ 이동        
        elif 0<=right<100 and arr[idx][right]:
            # μ˜¬λΌκ°€λŠ” 곳이 있으면 정지
            while not arr[idx-1][right]:
                right += 1
            x = right

            
    print(f'#{n} {x}')
  • 도착점뢀터 값을 읽어감
  • μ™Όμͺ½μ΄λ‚˜ 였λ₯Έμͺ½μœΌλ‘œ μ›€μ§μ΄λŠ” ꡬ간이 μžˆλŠ” 경우, μœ„λ‘œ μ˜¬λΌκ°€λŠ” ꡬ간이 λ‚˜μ˜¬λ•ŒκΉŒμ§€ 이동



πŸ“Œν›„κΈ°


은근 슀트레슀 많이 λ°›μ•˜λ˜ 문제,,, μ½”λ“œλ₯Ό μ΄μƒν•˜κ²Œ μ§œμ„œ 제좜쑰차 λ˜μ§€ μ•ŠλŠ” 상황이 λ˜μ—ˆμ—ˆλ‹€. μ²˜μŒμ—λŠ” ν…ŒμŠ€νŠΈμΌ€μ΄μŠ€κ°€ λ„ˆλ¬΄ μ»€μ„œ 그런 이유둜 λ°œμƒν•œ 였λ₯˜μΈμ€„ μ•Œμ•˜μ§€λ§Œ, μ—­μ‹œ λ‚΄ λ¬Έμ œμ˜€λ˜ 걸둜....κ·Έλž˜λ„ ν•΄κ²°ν•΄μ„œ 닀행이닀!

profile
Growing Developer

0개의 λŒ“κΈ€