https://school.programmers.co.kr/learn/courses/30/lessons/161989
프로그래머스
코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.
programmers.co.kr
개인적으로는 레벨2 치고는 좀 쉬운 문제같다. 시간/공간복잡도를 고려하지 않아도 될만큼의 문제였을뿐더러 애초에 구역에 대한 입력값 자체도 최대 10만이었기 때문에 무난했다.
나는 전처리를 통해 처음에 n과 sectino 입력값을 통해 임의로 구역을 만들어서 색칠해야할 영역을 인덱스로 표시해놓았다. 그리고 처음 색칠해야할 영역부터 m개를 칠한 후, 최대 n개 영역을 모두 검사하며 m개씩 칠해나가는 방법을 통해 문제를 해결할 수 있었다.
문제
입출력
코드
import java.util.Arrays;
class Solution
{
public int solution(int n, int m, int[] section)
{
int answer = 0;
int[] paint = new int[n];
int index = 0;
Arrays.fill(paint, 1);
for(int i=section.length-1; i>=0; i--)
{
paint[section[i]-1] = 0;
}
for(int i=0; i<n; i++)
{
if(paint[i]==0)
{
index = i;
answer++;
for(int j=index; j<index+m; j++)
{
if(j<n && paint[j]==0)
{
paint[j] = 1;
}
}
}
}
return answer;
}
}
'[ 다먹살 ] > - Coding' 카테고리의 다른 글
[프로그래머스] 레벨1 기사단원의 무기 (4) | 2023.03.08 |
---|---|
[프로그래머스] 레벨1 둘만의 암호 (2) | 2023.03.07 |
[프로그래머스] 레벨1 바탕화면 정리 (2) | 2023.03.03 |
[프로그래머스] 레벨2 우박수열 정적분 (0) | 2023.03.02 |
[프로그래머스] 레벨2 호텔 대실 (6) | 2023.02.28 |
댓글