반응형
5명이라고 가정하고 0번째 6번째는 1로 채워준다. 무조건 있다고 가정을 하는 것
lost는 1을 빼주고 reserve는 1을 더해준다.
lost = [2, 4]
reserver = [1, 3, 5]
순서 | 0 | 1 | 2 | 3 | 4 | 5 | 6 |
초기화 | 1 | 1 | 1 | 1 | 1 | 1 | 1 |
lost 처리 | 1 | 1 | 1-1=0 | 1 | 1-1=0 | 1 | 1 |
reserve 처리 | 1 | 1+1=2 | 0 | 1+1=2 | 0 | 1+1=2 | 1 |
1부터 5까지 for문, i=1 |
1 | 2-1=1 | 0+1=1 | 2 | 0 | 2 | 1 |
1부터 5까지 for문, i=2 |
1 | 1 | 1 | 2 | 0 | 2 | 1 |
1부터 5까지 for문, i=3 |
1 | 1 | 1 | 2-1=1 | 0+1=1 | 2 | 1 |
1부터 5까지 for문, i=4 |
1 | 1 | 1 | 1 | 1 | 2 | 1 |
1부터 5까지 for문, i=5 |
1 | 1 | 1 | 1 | 1 | 2 | 1 |
1~5까지 1보다 큰게 몇 개인지 세면 된다.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
|
def solution(n, lost, reserve):
answer = 0
uniforms = [1 for i in range(n+2)]
for i in lost:
uniforms[i]-=1
for i in reserve:
uniforms[i]+=1
for i in range(1, n+1):
if uniforms[i]>1:
if uniforms[i-1]==0:
uniforms[i-1]+=1
uniforms[i]-=1
if uniforms[i]>1:
if uniforms[i+1]==0:
uniforms[i]-=1
uniforms[i+1]+=1
for i in range(1, n+1):
if uniforms[i]>0:
answer+=1
return answer
|
cs |
반응형
'Algorithm > 프로그래머스' 카테고리의 다른 글
[프로그래머스][2022 카카오 블라인드] K진수에서 소수 개수 구하기 (0) | 2022.04.29 |
---|---|
[프로그래머스] 로또의 최고 순위와 최저 순위 - 파이썬 풀이 (0) | 2022.04.29 |
[프로그래머스][2022 카카오 블라인드 테스트] 신고 결과 받기 - 파이썬 풀이 (0) | 2022.04.26 |
[프로그래머스] 가장 큰 수(level 2) 파이썬 문제 풀이 (2) | 2021.08.27 |
[프로그래머스] 모의고사(level 1) 파이썬 문제 풀이 (0) | 2021.08.23 |
댓글