Coding Cantabile

[BOJ] #1009_분산 처리(Python3, 파이썬) 본문

Coding Test/BOJ

[BOJ] #1009_분산 처리(Python3, 파이썬)

Gracekim 2023. 4. 3. 18:50

본 게시글은 백준 저지 알고리즘 문제를 '파이썬, Python3' 언어로 풀이한 내용을 주관적으로 정리하였으며, 내용과 관련된 코드리뷰 및 피드백 환영합니다.

티어

Bronze II

문제 출처

https://www.acmicpc.net/problem/1009


풀이

import sys 
input = sys.stdin.readline

T = int(input()) # 테스트 케이스

for _ in range(T):
    a, b = map(int, input().split()) 

    test = a % 10
    
    if test == 0:
        print(10)
    elif test in [1,5,6]:
        print(test)
    elif test in [4, 9]:
        test2 = b % 2
        if test2 == 0:
            print(test*test%10)
        else:
            print(test)

    else:
        test2 = b % 4
        if test2 == 0:
            print(test**4%10)
        else:
            print(test**test2%10)

처음에는 당연하게 슬라이스 문제로 마지막 수만 뽑히게해야지 하는 쉬운 생각으로 풀었다가 바로 시간초과가 발생 ㅋㅋ 

이 문제를 풀기 위해서는 나머지에 대한 규칙을 찾아내야만 했다. 

1 1
2 2 4 6 8
3 1 3 9
4 4 6
5 5
6  6
7 1 3 7 9
8 2 4 6 8
9 1 9
10 0

이 규칙을 찾아 패턴별로 if문으로 묶어 풀어주었다.