알고리즘 공부/백준
(Python)백준 코딩테스트 연습 - 럭키 세븐(28706)
HRuler
2023. 8. 17. 22:26
1. 문제
https://www.acmicpc.net/problem/28706
28706번: 럭키 세븐
각 테스트케이스마다 한 줄에 하나씩, $K$를 $7$의 배수로 만들 수 있다면 “LUCKY”, 불가능하다면 “UNLUCKY”를 출력하세요.
www.acmicpc.net
2. 풀이
# 백준 28706번 : 럭키 세븐
import sys
input = sys.stdin.readline
# t : 테스트 케이스 수
t = int(input())
testCase = []
for i in range(t):
# n : 각 케이스의 턴 수
n = int(input())
dpSet = set([1])
for j in range(n):
op1, v1, op2, v2 = map(str, input().split())
temp = set()
for k in dpSet:
if op1 == "*":
temp.add((k * int(v1)) % 7)
elif op1 == "+":
temp.add((k + int(v1)) % 7)
if op2 == "*":
temp.add((k * int(v2)) % 7)
elif op2 == "+":
temp.add((k + int(v2)) % 7)
dpSet = temp
if 0 in dpSet:
print("LUCKY")
else:
print("UNLUCKY")