본문 바로가기

알고리즘

프로그래머스)덧칠하기

https://school.programmers.co.kr/learn/courses/30/lessons/161989

 

프로그래머스

코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.

programmers.co.kr

 

 

def solution(n, m, section):
    answer = 1
    number = section[0] + m - 1
    
    for i in range(1,len(section)):
        if section[i] <= number:
            continue
        
        else:
            number = section[i] + m - 1
            answer += 1
    return answer

무슨 알고리즘인지 잘 모르겠다.

그냥 단순히 구현으로 풀어보았다.

 

우선 한번에 어디까지 칠해져있는지를 나타내는 Number 변수를 선언한다

이 변수는  section[0]와 m -1을 더한 숫자로 초기화한다.

 

반복문을 돌며,

만약 section[i]가 i보다 작다면,

이미 칠했던 것에 section[i]가 포함되어 있다는 것이니 continue

아니라면, 붓질을 한번 더 해야하니 answer + 1

그리고 그 section[i]부터 m - 1만큼 더해 number 변수를 갱신해준다.

'알고리즘' 카테고리의 다른 글

프로그래머스)바탕화면 정리  (0) 2023.03.24
프로그래머스) 카드뭉치  (0) 2023.03.19
백준)양  (0) 2023.03.02
백준)1로 만들기  (0) 2023.02.28
백준)정수 삼각형  (0) 2023.02.28