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를 써주어도 된다.

+ Recent posts