728x90
문제
길이가 n인 수열이 있다.
어떤 i번 인덱스와 j번 인덱스에 대해 i와 j의 차이가 1이면 "두 인덱스가 인접하다"고 표현한다.
이 수열의 각 인덱스에 대해 인접한 인덱스에 자신과 같은 수가 있으면 1을, 없으면 0을 출력하여라.
입력
첫 줄에 수열의 길이 n이 주어진다.
두 번째 줄에 수열을 구성하는 수 n개가 주어진다.
(3 ≤ n ≤ 1,000, 1 ≤ 수열을 구성하는 수 ≤ n)
출력
첫 줄에 0번 인덱스부터 n-1번 인덱스까지 각 인덱스마다 인접한 인덱스에 같은 수가 있다면 1을, 없다면 0을 출력한다.
입력의 예 1
5
2 3 1 1 4
출력의 예 1
0 0 1 1 0
입력의 예 2
5
1 2 1 3 3
출력의 예 2
0 0 0 1 1
입력의 예 3
7
2 2 2 3 3 3 4
출력의 예 3
1 1 1 1 1 1 0
입력의 예 4
11
1 2 3 4 5 6 7 8 9 10 11
출력의 예 4
0 0 0 0 0 0 0 0 0 0 0
#코드
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
|
n = int(input())
getInfo = list(map(int, input().split()))
answer = [-1 for _ in range(1010)]
arr = list()
arr.append(-1)
for i in range(len(getInfo)):
arr.append(getInfo[i])
arr.append(-1)
for i in range(1, n+1):
if arr[i] == arr[i-1] or arr[i] == arr[i+1]:
answer[i] = 1
else:
answer[i] = 0
for i in answer:
if i != -1:
print(i, end=' ')
|
cs |
반응형
'CS > 알고리즘_문제풀이(파이썬)' 카테고리의 다른 글
조회 알고리즘 (0) | 2021.05.23 |
---|---|
2차원 조회 (0) | 2021.05.23 |
밀기 알고리즘 -- 파이썬 데크(deque) (0) | 2021.05.23 |
역방향 밀기 (0) | 2021.05.23 |
정방향 밀기 (0) | 2021.05.23 |