TIL
TIL_20230320
번잔중
2023. 3. 20. 23:53
오늘 할 일
- LeetCode 데일리 문제 풀기
오늘 배운 것
LeetCode 데일리 문제 풀기
- 오늘의 문제: 605. Can Place Flowers(https://leetcode.com/problems/can-place-flowers/)
- 문제 조건
- 긴 화단이 있고, 화단에는 식물이 있거나 없거나 둘 중 하나이다.
- 인접한 위치에는 식물을 심을 수 없다.
- flowerbed 배열은 0과 1로만 이루어져 있고, 0은 자리가 빈 상태, 1은 식물이 심어진 상태이다. 정수 n은 flowerbed에 심을 수 있는 식물의 개수를 의미한다.
- 문제 해결 과정
- 시작값과 마지막값을 처리해주면 그리디한 방식으로 풀 수 있을 것 같다.
- 시작값과 마지막값인 경우를 고려해서 해당하는 경우에는 0으로 처리해준다. 인접한 위치라는 조건에 포함되지 않기 때문이다. 그렇지 않은 경우에는 prev에 이전 인덱스에 해당하는 값을, next에는 다음 인덱스에 해당하는 값을 삽입한다.
- 이전 값과 다음 값을 구하고 나서 둘 다 값이 0인지 확인해본다. 만약 둘 다 0인 경우에는 해당 위치에 있는 배열 값을 1로 바꾸고, cnt를 증가시킨다.
- 결과는 cnt가 n과 같은지만 보면 된다.
느낀점
- 전 날 무리를 해서인지 몰라도 알고리즘 문제 하나만 풀고 잠들게 됐습니다. 연습에 연습을 해야 하는데 시간을 너무 많이 쏟는 것 같은 느낌도 있어서 쉽지 않네요.
- 알고리즘 잘 풀고 싶다 !
내일 할 일
- LeetCode 데일리 문제 풀기
- Heart 수정 필요한 부분 고치기
- 카카오 개발자의 이력서 강의 듣기(캐치)