일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | ||||
4 | 5 | 6 | 7 | 8 | 9 | 10 |
11 | 12 | 13 | 14 | 15 | 16 | 17 |
18 | 19 | 20 | 21 | 22 | 23 | 24 |
25 | 26 | 27 | 28 | 29 | 30 | 31 |
Tags
- function #사용자 정의 함수
- bootstrap #css #CSS
- 오블완
- EFK
- jgrp000032 #ocp #
- lvm #lv #vg #pv
- istio #k8s #kubernetes
- shell #shell script
- PODS #POD #pods #pod #파드 #재기동 #롤링재기동 #rolling
- jmap #jstack
- OCP
- EKS
- DB #mariaDB #SQL
- 백준 #10430
- Node #POD #Container
- 티스토리챌린지
- test #비교
- Linux #wc
- dify
- NameSpace #NS
- lenova #레노버 #노트북
- publishnotreadyaddress
- Excel #엑셀
- Python #pakage
- Kafka #카프카
- dump #jattach
- CI #CD #CI/CD
- Grid #CSS
- Swap Memory
- 네트워크 #NW
Archives
- Today
- Total
BEOM_IT
[programmers]python 161989 덧칠하기 본문
728x90
반응형
# 덧칠하기
# 페인트 칠해진 길이가 n미터인 벽
# 페인트 벗겨진곳 덧칠하기(일부만 칠하기)
# 1미터 길이의 구역 n개로 나누고 1 - n까지 번호를 붙히고
# 페인트 칠하는 롤러의 길이는 m미터 이고
# n의 길이의 벽을 m의 길이를 가진 롤러로 칠하는데 section의 벽을 칠해야함
# 어떻게 풀어야 할까>>>??? n이 최대 길이인데 m만큼 칠한다..인데 배열의 수가 포함이여야한다.
# 덧칠하는 시작점을 잡고 반복해서 풀면 코드도 간단해지고 정확하다.
def solution(n, m, section):
answer = 1 # 칠하는 횟수
paint = section[0] # 덧칠 시작점
for i in range(1, len(section)): # 섹션 길이만큼 반복
if section[i] >= m+ paint: # 시작점에 롤러만큼 더했을때 보다 크면 +1
answer += 1
paint = section[i]
return answer
print(solution(8,4,[2,3,6]))#2 2345 5678
print(solution(5,4,[1,3])) #1 5칸을 4칸 한번에 칠할수있는데 1,3 번을 칠하려면 1번
print(solution(4,1,[1, 2, 3, 4])) #4 1 2 3 4
728x90
반응형
'Algorithm > Python' 카테고리의 다른 글
[programmers]python 12943 콜라츠 추측 (0) | 2024.01.24 |
---|---|
[programmers]python 131705 삼총사 (0) | 2024.01.17 |
[programmers]python 120836 순서쌍구하기 (0) | 2024.01.16 |
[programmers]python 147355 크기가 작은 부분문자열 (0) | 2024.01.12 |
[programmers]python 120909 제곱수판별 (1) | 2024.01.08 |