728x90
문제
0 과 1 로 이루어진 길이가 N 인 수열이 주어진다.
이 수열에서 1 과 인접한 0 을 모두 1 로 바꾼 수열을 출력하여라.
입력
첫 줄에 N 이 주어진다.
두 번째 줄에 0 과 1 로 이루어진 수열이 주어진다.
(1 ≤ N ≤ 1,000)
출력
1 과 인접한 0 을 모두 1 로 바꾼 수열을 출력한다.
입력의 예 1
6
1 0 0 0 1 0
출력의 예 1
1 1 0 1 1 1
입력의 예 2
6
1 0 0 0 0 1
출력의 예 2
1 1 0 0 1 1
입력의 예 3
8
0 1 0 0 1 0 0 1
출력의 예 3
1 1 1 1 1 1 1 1
입력의 예 4
10
1 0 0 0 1 1 0 0 0 1
출력의 예 4
1 1 0 1 1 1 1 0 1 1
#코드
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
|
import sys
# 1 과 인접한 0 을 모두 1 로 바꾼 수열을 출력
def doit():
global getArr, arr
for i in range(n):
if getArr[i] == 1:
arr[i] = 1
arr[i+2] = 1
for i in range(1, n+1):
print(arr[i], end=' ')
if __name__ == "__main__":
input = sys.stdin.readline
n = int(input())
getArr = list(map(int, input().split()))
arr = [0]*(n+2)
for i in range(1, n+1):
arr[i] = getArr[i-1]
doit()
|
cs |
반응형