📖문제:
📙풀이:
리스트를 사용해서 pop(), append()를 하며 문제를 푸니 시간초과가 발생했다.
그래서 쿼리가 입력될 때 바로바로 연산을 처리할 수 있도록하니 문제를 쉽게 해결할 수 있었다.
✏️코드:
'''
https://www.acmicpc.net/problem/18917
문제: 수열과 쿼리 38
난이도: 실버3
'''
# 리스트를 사용하면 시간초과 발생
# 리스트를 사용하지 않고, 문제를 풀 수 있는 방법 고민하기!!
import sys
sum = 0
xor = 0
index = int(input())
for _ in range(index):
query = sys.stdin.readline().strip()
if query[0] == '1':
sum += int(query[2:])
xor ^= int(query[2:])
elif query[0] == '2':
sum -= int(query[2:])
xor ^= int(query[2:])
elif query[0] == '3':
sys.stdout.write(str(sum) + '\n')
elif query[0] == '4':
sys.stdout.write(str(xor) + '\n')
🔗링크:
'🧩ps > 🔥Normal' 카테고리의 다른 글
[백준 2096번] 내려가기 (1) | 2024.10.13 |
---|---|
[백준 1654번] 랜선 자르기 (0) | 2024.09.29 |
[백준 2108번] 통계학 (0) | 2024.09.28 |
[백준 1874번] 스택 순열 (0) | 2024.09.27 |
[백준 1966번] 프린터 큐 (0) | 2024.09.26 |