TIL

TIL_20230407

번잔중 2023. 4. 7. 23:42

오늘 할 일

  • LeetCode 데일리 문제 풀기
  • 운동하기 - 웨이트 트레이닝

오늘 배운 것

LeetCode 데일리 문제 풀기

  • 오늘의 문제: 1020. Number of Enclaves(https://leetcode.com/problems/number-of-enclaves/)
  • 문제 조건
    • m x n 이진 배열 grid가 주어지고, 0은 바다, 1은 땅이다.
    • 이동은 한 땅에서 인접한 다른 땅(네 방향 - 상하좌우)로 이동하거나 grid의 경계를 벗어나는 것으로 구성된다.
    • 이동 횟수에 관계없이 grid의 경계를 벗어날 수 없는 grid의 땅 수를 반환해라
  • 문제 해결 과정
    • 어제 풀었던 문제와 거의 같다고 봐도 무방한 문제인듯! dfs로 전처리 및 정답을 구해줄 수 있을 것이라는 생각이 든다.
    • 테두리에 위치한 땅의 경우는 네 방향이 모두 바다일 수 없기 때문에 그냥 바다로 바꿔줘도 된다.
    • 그 후에 남은 땅의 개수를 세서 반환한다.
    • 2차원 배열의 합을 구할 때는 행의 합을 stream으로 구하면 간단하다! 하지만 이중 for문을 사용했을 때보다는 시간 복잡도가 다소 증가한다.
// stream 방식
int ans = 0;

for (int[] row : grid)
            ans += Arrays.stream(row).sum();

return ans;

느낀점

  • 리트코드의 어제 문제가 훨씬 더 어렵습니다. 어제 문제를 개고생하면서 풀었는데, 어제 문제보다 한 단계 덜 생각해도 되는 문제가 오늘 나왔네요! ㅎㅎㅎ 리트코드가 저를 조련하는...?
  • 자소서를 써야 하는데 아직 못 쓴 것들이 많네요. ㅎㅎ 주말 동안에는 자소서를 써야겠습니다.

내일 할 일

  • LeetCode 데일리 문제 풀기
  • KB라이프생명 자소서 작성
  • 운동하기 - 웨이트 트레이닝

'TIL' 카테고리의 다른 글

TIL_20230409  (0) 2023.04.09
TIL_20230408  (0) 2023.04.08
TIL_20230406  (0) 2023.04.06
TIL_20230405  (0) 2023.04.05
TIL_20230404  (0) 2023.04.04