본문 바로가기

항해99_코테스터디

[항해99]99클럽 코테 스터디 13일차 TIL + 동적계획법

 

 

1.  오늘의 학습 키워드 : 동적 계획법(Dynamic Programming)

동적 계획법이 엄청나게 다양한 것 같더라고요.. 오늘도 전 재귀느낌으로 풀었습니다.

2.  오늘의 문제 :  Divisor Game

https://leetcode.com/problems/divisor-game

DivisorGame인데 뭔가.. 헷갈렸어요 ㅈ전.. 그래도 문제를 영어로 읽을 수 있다는 것에 감사해요... 감사일기를 씁시다.

3.  풀이 

class Solution {
   public boolean divisorGame(int N) {

        if (N==1) return false;
        if (N==2) return true;
       
        for (int i=1;i<=N;i++){
            if (N%i == 0)
                return !(divisorGame(N-i));
       }
        return false;
  }
}

 

3.  회고 

사실 다른 사람의 코드를 참고했어요. 재귀로 푸는건가? 근데 만약 밥이 다른 선택을 한다면? 앨리스가 처음에 다른 선택을 한다면.....? 이거가지고 엄청나게 고민을 했거든요 식을 어떻게 세워야하나.... 근데 뭐 코테 문제에 그런 변수는 없겠죠. 제가 생각이 너무 많은 거였습니다. 걍 차례대로 나오게 생각을 하면 되더라고요!!!! 동적계획법 .. .너무 어려운 것 같습니다. 근데 전 이런 생각하는게 좋아요 뭔가 똑똑해지는 기분?ㅎㅎ 오픈채팅방에서도 다들 어렵다고 난리네요.. 전 비기너도 어려운데 미들러 챌린저는 어떻게 하는지 참.. 공부 더해야겠습니다.

 

참고 사이트

https://leetcode.com/problems/divisor-game/discuss/979796/Java-all-approach-Easy-Recursive-Memoization-DP

이런 영어로 된 것들 읽으니까 영어 실력도 향상되는 것 같아요. 99클럽하길 잘했습니다!