코테/문제풀이

[프로그래머스][L1] 덧칠하기 자바 문제풀이

내가 그린 코딩 그림 2023. 6. 10. 13:12
반응형

프로그래머스 L1 - 덧칠하기 자바 문제풀이

프로그래머스 덧칠하기 문제풀이입니다.

1. wall 배열을 잡아줍니다.

편의성을 위해 n+1로 사이즈를 잡아주고 0은 쓰지 않도록 해줍니다. 디폴트가 false이기 때문에 편의를 위해 칠할 곳을 true로 변경해줍니다.

 

2. target을 만나면 m만큼 칠해줍니다.

한번에 페인팅해야되는 길이가 m이고 이 길이만큼 무조건 칠해줘야하기 때문에 칠해줍니다. 왼쪽에서 시작해서 나아가는 반복문을 사용하여 간단하게 만들 수 있습니다.

 

3. 포인터 중지점 마련

m만큼 칠해야되는데 룰러의 길이가 매우 길수도 있습니다. 그런경우 중단점을 마련해줘야하는데, 총 길이 - 룰러 길이 보다 짧은 구간부터는 왼쪽에서 오는 구간을 막고 중단해줍니다.

 

4. 중단점에 대한 연산 처리

중단 한 시점은 더이상 전진이 불가하다는 의미 + 한번에 칠할 수 있다는 의미가 동시에 됩니다. answer++ 해주고 마무리합니다.

 

 

extra.. 만약에

해당 문제에는 없지만 벽길이보다 룰러가 길어 칠할 수 없는 경우가 존재한다면 해당 케이스에 대한 예외처리를 해줘야합니다. 지금 문제는 그런 조건이 보이지 않아 통과됩니다.

 

 

코드 보러 가기

반응형