반응형

@notepad_jj2

츄르사려고 코딩하는 코집사입니다.


1. [백준] 백준 29729번 가변배열 파이썬(Python)

1) 문제번호 : 29729

 

2) 문제 출처

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

 

29729번: 가변 배열

첫 번째 줄에 가변 배열의 초기 최대 크기를 의미하는 정수 $S_0$와 배열에 원소를 저장하는 명령의 개수를 의미하는 정수 $N$, 배열에서 원소를 삭제하는 명령의 개수를 의미하는 정수 $M$이 공백

www.acmicpc.net

 

2. 풀이

- 값을 입력받고, 반복문을 돌려서 값이 1이면 cnt를 1씩 증가시키고, 0이면 1을 감소 시킨다.

- 근데, 1을 입력 받을 때 배열 길이와 cnt가 같은 경우에는 배열 크기를 2배 증가시킨다.

- 여기서 시간 초과가 날 수 있는데, input을 sys.stdin.readline으로 받으면 된다.

 

3. 소스 코드

import sys
input = sys.stdin.readline

S, N, M = map(int, input().split())

cnt = 0
for i in range(N+M) : 
    num = int(input())
    
    if num == 1 : 
        if S == cnt : 
            S += S
        cnt += 1
    else : 
        cnt -= 1
        
print(S)

 

반응형
  • 네이버 블러그 공유하기
  • 네이버 밴드에 공유하기
  • 페이스북 공유하기
  • 카카오스토리 공유하기