def solution(n, lost, reserve): answer = 0 student = [0]*(n+1) for k in lost: student[k] = -1 for k in reserve: student[k] += 1 for i in range(1,n+1): if student[i] > 0: for new_student in [i-1,i+1]: if 1<=new_student <=n: if student[new_student] == -1: student[i] -= 1 student[new_student] += 1 break for i in range(1,n+1): if student[i] >=0: answer += 1 return answer
단순하게 풀었다.
stduent 만큼의 배열을 만들어 준 다음 index가 벗어나지 않게 앞에서부터 차근차근 나눠주는걸로했다.
그리고 답은 0 이상의 개수를 구해서 출력해주었다.
def solution(n, lost, reserve): answer = 0 student = [0]*(n+1) for k in lost: student[k] = -1 for k in reserve: student[k] += 1 for i in range(1,n+1): if student[i] > 0: for new_student in [i-1,i+1]: if 1<=new_student <=n: if student[new_student] == -1: student[i] -= 1 student[new_student] += 1 break answer = student.count(0) + student.count(1) -1 return answer
이런식으로 카운트 method를 써주어도 된다.
'알고리즘 > 프로그래머스' 카테고리의 다른 글
[프로그래머스] 81304 미로 탈출 2021 카카오 채용연계형 인턴십 (0) | 2021.07.11 |
---|---|
[프로그래머스] 81303 표 편집 2021 카카오 채용연계형 인턴십 (0) | 2021.07.11 |
[프로그래머스] 42840 모의고사 (0) | 2021.03.14 |
[프로그래머스] 42576 완주하지 못한 선수 (0) | 2021.03.14 |
[프로그래머스] 68644 두 개 뽑아서 더하기 (0) | 2021.03.14 |