반응형
프로그래머스 L1 - 덧칠하기 자바 문제풀이
프로그래머스 덧칠하기 문제풀이입니다.
1. wall 배열을 잡아줍니다.
편의성을 위해 n+1로 사이즈를 잡아주고 0은 쓰지 않도록 해줍니다. 디폴트가 false이기 때문에 편의를 위해 칠할 곳을 true로 변경해줍니다.
2. target을 만나면 m만큼 칠해줍니다.
한번에 페인팅해야되는 길이가 m이고 이 길이만큼 무조건 칠해줘야하기 때문에 칠해줍니다. 왼쪽에서 시작해서 나아가는 반복문을 사용하여 간단하게 만들 수 있습니다.
3. 포인터 중지점 마련
m만큼 칠해야되는데 룰러의 길이가 매우 길수도 있습니다. 그런경우 중단점을 마련해줘야하는데, 총 길이 - 룰러 길이 보다 짧은 구간부터는 왼쪽에서 오는 구간을 막고 중단해줍니다.
4. 중단점에 대한 연산 처리
중단 한 시점은 더이상 전진이 불가하다는 의미 + 한번에 칠할 수 있다는 의미가 동시에 됩니다. answer++ 해주고 마무리합니다.
extra.. 만약에
해당 문제에는 없지만 벽길이보다 룰러가 길어 칠할 수 없는 경우가 존재한다면 해당 케이스에 대한 예외처리를 해줘야합니다. 지금 문제는 그런 조건이 보이지 않아 통과됩니다.
반응형
'코테 > 문제풀이' 카테고리의 다른 글
[프로그래머스][L1] 대충 만든 자판 자바 문제 풀이 및 정답 (0) | 2023.06.10 |
---|---|
[프로그래머스][L1] 명예의 전당 자바 문제 풀이 및 정답 (0) | 2023.06.10 |
113. Path Sum II 정답 및 문제풀이 C++ (0) | 2023.03.18 |
백준 13305 주유소 문제 c++ (0) | 2023.02.28 |
백준 1068 트리 - dfs 이용한 트리 순회 (0) | 2023.02.14 |