본문 바로가기

취미/study

[leetcode] Nim Game ~ Add Digits

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

두 사람이 마주 앉아 게임을 하는데, 룰은 아래와 같습니다.

테이블 위에 수십개의 돌이 있고, 한 번에 1~3개의 돌만 가져올 수 있으며, 마지막의 돌을 가져오는 사람이 승리자 입니다.

두 사람이 번갈아 가며 돌을 가져올 수 있습니다, 이 때에 테이블 위의 돌맹이의 수를 입력(int)으로 하고, 승리(true) 패배(false)를 반환하는 함수를 작성하시오.

목적 : 아주 단순하지만, 문제 해결을 어떻게 접근하는 지 묻고 싶은 문제


https://leetcode.com/problems/add-digits/

임의의 양의 정수에 대하여 각 각의 숫자들의 합이 한 자리 숫자가 될때까지 더하여 최종 한 자리 숫자를 구하는 함수를 작성하시오.

단, 반복문, 재귀함수를 사용하지 않아야 하며, O(1) 복잡도 함수일 것.

목적 : 빅오에 대한 이해도와 문제해결 접근방법 그리고 약간의 노가다


static 변수는 클래스 변수이므로, 반드시 재사용을 대비하여 초기화하는 것을 잊지 말자.

static 변수를 사용하고, 클래스 단위의 반복 시에 문제가 생기는 것에서 힌트를 얻었어야 하는데 .. 아무튼, 원인은 알고보니 단위 테스트는 통과하지만 반복적인 테스트에서는 static 변수에서 기존값을 재사용하는 문제 때문에 발생한 버그였음 !!



'취미 > study' 카테고리의 다른 글

공부를 위한 사이트 목록  (0) 2015.04.30