728x90
문제
https://school.programmers.co.kr/learn/courses/30/lessons/161989
풀이
using System;
public class Solution {
public int solution(int n, int m, int[] section)
{
int start = section[0];
int end = section[0] + (m - 1);
int cnt = 1;
foreach(int i in section)
{
// 만약 범위에 들어간다면? 반복문을 다시 실행
if(i >= start && i <= end)
{
continue;
}
// 범위에 안들어간다면?
start = i;
end = i + (m - 1);
cnt++;
}
return cnt;
}
}
고민
처음에 그리디문제라고 생각했는데, 문제를 보니까 간단했다. 단순 구현문제?
생각은 너무 복잡하게 해서 for문에다가 담아서 하나하나 비교하고.. 난리를 쳤는데 그게 아니라 start, end를 정해서 정해진 구역만 체크하면 되는 것이었다.
'동식이 취업시키기 작전 > 코딩테스트' 카테고리의 다른 글
[백준] 1931번 회의실 배정(C#) (1) | 2024.04.11 |
---|---|
[프로그래머스] 이진 변환 반복하기(C#) (0) | 2024.04.11 |
[백준] 1012번 유기농 배추(C#) (1) | 2024.03.18 |
[백준] 2667번 단지번호붙이기(C#) (1) | 2024.03.15 |
[백준] 2606번 바이러스(C#) (1) | 2024.03.15 |