Welcome! Everything is fine.

[프로그래머스/Lv.1] 덧칠하기 - Java 본문

프로그래머스/Lv.1

[프로그래머스/Lv.1] 덧칠하기 - Java

개발곰발 2024. 4. 23.
728x90

📌 문제

 

프로그래머스

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

programmers.co.kr

📌풀이

어렵게 생각하려니 더 안풀렸던 문제. 그냥 단순하게 생각하면 간단하다.

  • 시작 영역을 start에 저장하고 칠한 횟수를 1 증가시킨다.
  • section 배열을 돈다.
    • start + 롤러의 길이가 section의 요소보다 작을 경우 그냥 넘어간다.
    • start + 롤러의 길이가 section의 요소보다 클 경우 start의 값을 해당 section으로 이동시키고 칠한 횟수를 1 증가 시킨다.

📌 전체 코드

class Solution {
    public int solution(int n, int m, int[] section) {
        int answer = 0;
        
        int start = section[0];
        answer++;
        
        for (int i : section) {
            if (start + m > i) continue;
            start = i;
            answer++;
        }
        
        return answer;
    }
}