728x90
반응형
1. 문제 설명
2. 풀이과정
- 현재 벽의 상태를 저장할 변수를 만들고 True로 초기화한다. result = [True] * n
- 칠해야 하는 구역의 번호를 하나씩 추출하여 for i in section
- 해당 구역을 칠하지 않은 것으로 변경한다. result[i - 1] = False
- 칠해야 하는 구역의 번호를 하나씩 추출하여 for i in section
- 만약 해당 구역이 아직 칠해지지 않았다면 if (not result[i - 1])
- 칠해야 하므로 칠하는 횟수를 1 증가시킨다. answer += 1
- 그리고 칠해야 하는 구역의 시작부터 롤러의 길이만큼 한 번에 칠해야 하므로 칠해지는 구역을 하나씩 추출하여 벽을 칠하는데 for j in range(i - 1, i + m - 1)
- 만약 구역 번호가 벽을 넘어가면 if (j >= n)
- 더 이상 칠할 벽이 없으므로 종료한다. break
- 칠할 수 있으면 해당 구역을 칠한다. result[j] = True
반응형
3. 소스코드
def solution(n, m, section):
answer = 0
result = [True] * n
for i in section:
result[i - 1] = False
for i in section:
if (not result[i - 1]):
answer += 1
for j in range(i - 1, i + m - 1):
if (j >= n):
break
result[j] = True
return answer
728x90
반응형
'프로그래머스 > Python' 카테고리의 다른 글
[프로그래머스] 네트워크 - 파이썬(Python) - 우당탕탕 개발자 되기 프로젝트 (0) | 2023.08.06 |
---|---|
[프로그래머스] k진수에서 소수 개수 구하기 - 파이썬(Python) - 우당탕탕 개발자 되기 프로젝트 (0) | 2023.08.05 |
[프로그래머스] 최고의 집합 - 파이썬(Python) - 우당탕탕 개발자 되기 프로젝트 (0) | 2023.08.04 |
[프로그래머스] 전화번호 목록 - 파이썬(Python) - 우당탕탕 개발자 되기 프로젝트 (0) | 2023.08.03 |
[프로그래머스] 실패율 - 파이썬(Python) - 우당탕탕 개발자 되기 프로젝트 (0) | 2023.08.01 |
[프로그래머스] 타겟 넘버 - 파이썬(Python) - 우당탕탕 개발자 되기 프로젝트 (0) | 2023.07.31 |
[프로그래머스] 이중우선순위큐 - 파이썬(Python) - 우당탕탕 개발자 되기 프로젝트 (0) | 2023.07.30 |
[프로그래머스] 정수 삼각형 - 파이썬(Python) - 우당탕탕 개발자 되기 프로젝트 (0) | 2023.07.29 |