대회형 랭킹올리기는 처음이다
쉬운 앞 두 문제를 풀고 기뻐했으나..
장난하나
거기서 멈췄다
...
일단 재수강은 못하는 B가 나왔으니 뭐..
?? 이렇게 망쳐도 B가 나오네 c- 나올줄
<망한코드>
시간초과
from sys import stdin
n = int(stdin.readline())
def Calcul(n,x,y):
if x == "*" :
return n * y
else:
return n + y
def Seven(k_now,rere):
global LUCKY
if rere == N:
if k_now % 7 == 0:
LUCKY = True
return 0
#1
k_now1 = Calcul(k_now,Nlist[rere[0]],Nlist[rere[1]])
Seven(k_now1,rere+1)
#2
k_now2 = Calcul(k_now,Nlist[rere[2]],Nlist[rere[3]])
Seven(k_now2,rere+1)
for _ in range(n):
N = int(stdin.readline())
Nlist = []
LUCKY = False
for i in range(N):
x1,y1,x2,y2 = stdin.readline()[:-1]
Nlist.append([x1,y1,x2,y2])
Seven(1,0)
if LUCKY:
print("LUCKY")
else:
print("UNLUCKY")
틀렸습니다
from sys import stdin
n = int(stdin.readline())
for _ in range(n):
N = stdin.readline()[:-1]
stack = []
for i in N :
print(stack)
if i == '(' :
stack.append(i)
elif i == ')' :
if len(stack) != 0 and stack[-1] == '(' :
stack.pop()
elif len(stack) != 0 and stack[-1] == '?' :
stack.pop()
else:
stack.append(')')
elif i == '?' : # 일단 ? 는 무조건 넣기
stack.append('?')
elif i == '*':
stack.append('*')
print(1,stack)
stack_del_index = []
# 별 오른쪽에 있는 )와 별 왼쪽에 있는 ( 처리 가능
left_thing =[]
star_time = False #오른쪽)
for k in range(len(stack)):
if stack[k] == "*": # 별 나올 시
star_time = True
stack_del_index.append(k)
for cha in left_thing: # 왼쪽
stack_del_index.append(cha)
left_thing = []
if stack[k] == ")" and star_time:
stack_del_index.append(k)
if stack[k] == "(":
left_thing.append(k)
#새로운스택
new_stack = []
for j in range(len(stack)):
if j in stack_del_index:
continue
new_stack.append(stack[j])
print(2,new_stack)
# ? 후처리 ? ==> )
ques_left = False
if new_stack:
for k in range(len(new_stack)-1,-1,-1):
if new_stack[k] == "?":
ques_left = True
elif new_stack[k] == "(" and ques_left:
del new_stack[k+1]
del new_stack[k]
ques_left = False
else:
ques_left = False
print(3,new_stack)
ques_count = 0
#별이 있으면 ? 무조건 yes
if star_time and new_stack:
for w in range(len(new_stack)-1,-1,-1):
if new_stack[w] == "?":
del new_stack[w]
#별 없을 시 마지막에 남은 ?들이 짝수이면 yes
elif new_stack:
for w in range(len(new_stack)-1,-1,-1):
if new_stack[w] == "?":
ques_count += 1
if ques_count % 2 != 0:
ques_count = 0
print(4,new_stack,ques_count)
#스택에 값이 있을 시 no
if len(new_stack)-ques_count == 0:
print("YES")
else:
print("NO")
와 이 문제 진짜 ㅠ
문제 해설
봤는데 모르겠다.
으으
나중에봐야지
끝나고 왹파티!
👽💗👽💗👽💗👽💗👽💗👽💗👽💗👽💗👽💗👽💗
'📊 Algorithm > Algorithm plus+' 카테고리의 다른 글
👑 Atcoder / CodeForces 👑 ..ing (0) | 2023.09.03 |
---|---|
이화여자대학교 백준 대회 준비 드릉드릉 ..inging (0) | 2023.09.01 |
🏵SUAPC🏵 신촌지역 대학교 프로그래밍 대회 2023 summer (0) | 2023.08.02 |
🧼 클린코드 🫧 (0) | 2023.08.01 |
📝 알고리즘 목표 📝 (0) | 2023.06.05 |