[코드업] 성실한개미

cheeeese·2022년 1월 31일
0

코딩테스트 연습

목록 보기
36/151
post-thumbnail

📖 문제

https://codeup.kr/problem.php?id=6098

💻 코드

mlist=[]

for i in range(10):
    mlist.append(list(map(int, input().split())))
    
x, y=1, 1

while True:
    if mlist[x][y]==0:
        mlist[x][y]=9
    elif mlist[x][y]==2:
        mlist[x][y]=9
        break
    
    if mlist[x][y+1]==1 and mlist[x+1][y]==1:
        break
    
    if mlist[x][y+1]!=1:
        y+=1
    elif mlist[x+1][y]!=1:
        x+=1

for i in range(10):
    for j in range(10):
        print(mlist[i][j], end=' ')
    print()
        

➕ 풀이

while True:
    if mlist[x][y]==0:
        mlist[x][y]=9
    elif mlist[x][y]==2:
        mlist[x][y]=9
        break
    
    if mlist[x][y+1]==1 and mlist[x+1][y]==1:
        break
    
    if mlist[x][y+1]!=1:
        y+=1
    elif mlist[x+1][y]!=1:
        x+=1
  • 이동한 자리를 9로 변경
  • 만약 오른쪽과 아래가 모두 1이라면 멈춤
  • 아니라면 1씩 더해가면서 이동

0개의 댓글