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 수정 필요한 부분 고치기
  • 카카오 개발자의 이력서 강의 듣기(캐치)