본문 바로가기
Algorithm

[구현] 백준 28295 체육은 코딩과목 입니다 - 파이썬(Python)

by jangThang 2023. 7. 4.
반응형

백준 온라인 저지

 

[ Contents ]

     

     

    1. 문제 (링크 참조)

     

    28295번: 체육은 코딩과목 입니다

    $10$개의 지시를 모두 이행한 후 학생들이 바라보는 방향을 나타내는 문자를 출력한다. 학생들이 바라보는 방향이 북쪽이라면 N, 동쪽이라면 E, 서쪽이라면 W, 남쪽이라면 S를 출력한다.

    www.acmicpc.net

     

     

    2. 문제 풀이

     총 10번의 지시 후에 바뀐 각도를 구하는 문제입니다. 각도는 우향우(+90), 뒤로 돌아(+180), 좌향좌(-90)로 움직입니다.

     

     

    3. 코드

    import sys
    input = sys.stdin.readline
    
    # 입력
    x = 1080   # 북쪽
    
    for _ in range(10):
        direction = int(input())
    
        if direction == 1:
            x += 90
        elif direction == 2:
            x += 180
        elif direction == 3:
            x -= 90
    
    x //= 90
    x %= 4
    
    if x == 0:
        print('N')
    elif x == 1:
        print('E')
    elif x == 2:
        print('S')
    else:
        print('W')

     각도를 구한다음 90으로 나누고, 4로 나눈 나머지를 구합니다. 0, 1, 2, 3 순으로 북동남서가 됩니다.

     이때 주의할 점은 맨 처음 각도를 1080으로 설정해야 한다는 점입니다. 음수가 될 경우 몫, 나머지 연산에서 오차가 발생합니다.

     

    star가 되고나서 Tistory

    반응형

    댓글