Programmers/Lv.1

프로그래머스 Lv.1 - 덧칠하기

junnrecorder 2023. 5. 23. 21:17

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

 

프로그래머스

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

programmers.co.kr

1. section 배열에는 덧칠해야 하는 타일의 번호가 오름차순으로 되어 있다.

2. 반드시 section에 첫번째 타일은 색칠을 해야 하므로 sc 변수에 첫번째 타일 번호를 저장한다.

3. 덧칠하는 타일은 시작 타일부터 m - 1 을 더한 타일 번호까지 색칠을 하게 되는데 이 때, 다음에 덧칠해야 하는
    타일 번호보다 작으면 sc 변수에 다음으로 덧칠해야 하는 타일 번호를 저장한다.

 

ex)

여기서 덧칠해야 하는 시작 타일은 2번 타일부터인데 한 번에 덧칠 할 수 있는 타일 수를 4라고 하면,

다음으로 색칠해야 하는 번호는 6번 이다.

 

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
class Solution {
    public int solution(int n, int m, int[] section) {
        int answer = 1;
        int sc = section[0];
        
        for(int i=1; i<section.length; i++) {
            if(sc + m - 1 < section[i]) {
                answer++;
                sc = section[i];
            }
        }
        
        return answer;
    }
}
cs