본문 바로가기
🧩ps/🔥Normal

[백준 18115번] 수열과 쿼리 38

by goguma.dev 2024. 10. 1.

📖문제:

 

📙풀이:

리스트를 사용해서 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')

 

🔗링크:

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

'🧩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