# 수열n 쿼리q
n,q = map(int,input().split())
# 길이 n의 수열
board = list(map(int,input().split()))
for qq in range(q):
# 쿼리
query = list(map(int,input().split()))
# 1번 쿼리이면
if query[0] == 1:
# a,b 구간의 합
print(sum(board[query[1]-1:query[2]]))
# 스왑
board[query[1]-1], board[query[2]-1] = board[query[2]-1], board[query[1]-1]
else:
# a,b구간의 합 - c,d구간의 합
print(sum(board[query[1]-1:query[2]])-sum(board[query[3]-1:query[4]]))
그 외
ps. 개인적인 코드와 코드를 작성의 이유를 적은 것입니다.
오류나 적절치 않은 문법이 존재할 수 있으며, 다른 분들께는 굉장히 비효율적인 방법으로 여겨질 수 있습니다.
혹시 개선 사항, 오류 및 문제에 대한 수정 사항 등을 댓글로 남겨주신다면 감사한 마음으로 배우고 수정하겠습니다
'코딩 문제해결 > 문제 풀이.백준' 카테고리의 다른 글
[BOJ/백준 코딩] 보물 - PYTHON #1026 (0) | 2021.01.31 |
---|---|
[BOJ/백준 코딩] 숫자판 점프 - PYTHON #2210 (0) | 2021.01.31 |
[BOJ/백준 코딩] 마법사 상어와 토네이도 - PYTHON #20057 (0) | 2021.01.30 |
[BOJ/백준 코딩] 연길이의 이상형 - PYTHON #20540 (0) | 2021.01.17 |
[BOJ/백준 코딩] 문홍안 - PYTHON #14649 (0) | 2021.01.10 |