Kim Seon Deok

[코드업] [기초-리스트] 성실한 개미 본문

python/Algorithm

[코드업] [기초-리스트] 성실한 개미

seondeok 2022. 1. 6. 00:10

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

 

[기초-리스트] 성실한 개미(py)

python언어기초100제v1.0 : @컴퓨터과학사랑, 전국 정보(컴퓨터)교사 커뮤니티/연구회 - 학교 정보(컴퓨터)선생님들과 함께 수업/방과후학습/동아리활동 등을 통해 재미있게 배워보세요. - 모든 내용

codeup.kr

<문제 요약>

1.10*10크기의 미로상자

2.개미는 (2,2)위치에서 시작

3.오른쪽으로 움직이다가 벽(1)을 만나면 아래로 움직임

4.개미가 지나온 길은 9로 변경

5.먹이(2)를 찾은 경우, 더 이상 움직일 수 없는 경우, 오른쪽 맨 아래에 도착한 경우 그 지점에서 머무름

 

 

 

ant = [list(map(int, input().split())) for _ in range(10)]  # 10 * 10 크기 생성

i = 1  # x 좌표
j = 1  # y 좌표시작점
ant[1][1] = 9
while True:
    if  (ant[i][j+1] == 0 ) :   # 오른쪽이 0
            j += 1 
            ant[i][j] = 9


    elif (ant[i][j+1] == 1 ): # 오른쪽이 1
        if (ant[i+1][j] == 0 ) :  # 아래쪽이 0
            i += 1 
            ant[i][j] = 9


        elif (ant[i+1][j] == 1 ):  # 아래쪽이 1
            break


        elif (ant[i+1][j] == 2 ):  # 아래쪽에 2
            i += 1
            ant[i][j] = 9
            break

    elif (ant[i][j+1] == 2 ): # 오른쪽이 2
        j += 1
        ant[i][j] = 9
        break



for i in range(10):
    for j in range(10):
        print(ant[i][j], end = " ")
    print()

 

 


<접근>
1. 오른쪽이 0일 경우 >> 오른쪽으로 이동 & 현재 지점 9 로 변경

2. 오른쪽이 1인 경우 

    2-1. 오른쪽이 1 & 아래쪽이 0 >> 아래쪽으로 이동 & 현재 지점 9로 변경

    2-2. 오른쪽이 1 & 아래쪽이 1 >> 더 이상 움직일 수 없으므로 현재 지점 9로 변경

    2-3. 오른쪽이 1 & 아래쪽이 2 >> 아래쪽으로 이동 & 현재 지점 9로 변경

3. 오른쪽이 2 인 경우 >> 오른쪽으로 이동 & 현재 지점 9로 변경

'python > Algorithm' 카테고리의 다른 글

[백준]1158 요세푸스 문제  (0) 2022.01.08
[백준] 1343번 폴리오미노  (0) 2022.01.06
[백준]11170 0의 개수  (0) 2022.01.06
[백준]10972 다음순열  (0) 2022.01.05
ATM  (0) 2022.01.03
Comments