BOJ - 28323

주의·2023년 11월 20일
0

boj

목록 보기
13/214

백준 문제 링크

불안정한 수열

❓접근법

  1. deque를 사용했다.
  2. 가장 좌측의 원소(x)를 빼고, 남아있는 자연수 중 가장 좌측(a)과 더해
    홀수가 되면 cnt +1 해주고,
    짝수가 되면 a를 제거하고 다시 x를 가장 왼쪽에 넣어준다.
    즉 [4,2,1] 이라면 x=4, a=2인데, 더하면 짝수이므로 a를 제거하고 [4,1]로 만들어준다.
  3. 마지막에 cnt + 1을 출력하면 끝!

👌🏻코드

from collections import deque
N = int(input())
a = list(map(int , input().split(" ")))
queue = deque(a)
cnt = 0

while queue:
    
    x = queue.popleft()
    if len(queue) > 0:
        if (x+queue[0]) % 2 != 0:
            cnt += 1
        else:
            queue.popleft()
            queue.appendleft(x)
            
print(cnt + 1)
N = int(input())
a = list(map(int , input().split(" ")))
cnt = 0
temp = []
while len(a) > 1:
    temp.append(a.pop(0))
    
    if (temp[-1] + a[0]) % 2 != 0:
        cnt += 1
        
print(cnt + 1)

처음엔 두번째 코드로 제출했는데, 20점이 나와서 코드를 좀 수정했다.

0개의 댓글