정구리의 우주정복
[프로그래머스] 체육복 파이썬 본문
반응형
문제 :
https://programmers.co.kr/learn/courses/30/lessons/42862
풀이과정 : (탐욕법 문제라는데 잘 모르겠다)
1. n 만큼 list 로 만들어주기 (1을 가짐)
2. lost 는 -1 을 해주고 reserve 는 +1 을 해주기
3. for 문으로 0인애 앞뒤로 확인해서 2가 있는지 체크하기
ㄴ 2가 있으면 +1 해주고 -1 해주기
4. list 에 1 이상인 애들은 answer 에 +1 해주기
def solution(n, lost, reserve):
answer = 0
people = [1 for _ in range(n)]
for i in lost:
people[i-1] -= 1
for j in reserve:
people[j-1] += 1
for k in range(len(people)):
print(k)
print(people)
if k ==0:#맨 앞일때 (뒤에만 check)
if people[k] ==0 and people[k+1] == 2: #맨 앞이 0 이면
people[k]+=1
people[k+1] -=1
elif k == len(people)-1: #맨 마지막일때 (전 값만 체크)
if people[k] ==0 and people[k-1] == 2:
people[k] += 1
people [k-1] -=1
else:
if people[k] == 0:
if people[k-1] == 2:
people[k] +=1
people[k-1] -=1
elif people[k+1] ==2:
people[k] += 1
people[k+1] -=1
for l in people:
if l > 0:
answer += 1
print(answer)
return answer
반응형
'ALGORITHM > SOLVE' 카테고리의 다른 글
[프로그래머스] 같은 숫자는 싫어 파이썬 (0) | 2020.06.01 |
---|---|
[프로그래머스] K 번째 수 파이썬 (0) | 2020.05.31 |
[프로그래머스] 모의고사 파이썬 (0) | 2020.05.30 |
[프로그래머스] 완주하지 못한 선수 파이썬 (0) | 2020.05.29 |
[프로그래머스] 크레인 인형뽑기 게임 파이썬 (0) | 2020.05.28 |
Comments