[TIL] codewars 사이트 소개 및 시작!

영어공부한다고 코딩 공부를 좀 미뤄뒀는데 우연찮게 소개받은 사이트를 발견하고 코딩 공부를 다시 시작하게 되었습니다. 수많은 코딩 인터뷰 사이트를 다녀봤는데 지루하고 금방 질리는 면이 있어서 지속하기 어려웠습니다.
그런데 이 사이트는 codewars라는 이름에 걸맞게 게임같은 화면과 여러가지 재미있는 요소를 넣어서 코딩 공부를 할 수 있도록 해놓아서 시작해보았습니다. 게다가 웹에서 vi를 쓸수 있군요!
추천합니다! kata 라는게 있는데 튜토리얼모드인건지 문제가 계속 이어지네요. 풀어보고 있습니다!


https://www.codewars.com/


오늘 푼 문제
(대략 이해한대로 의역하자면) 한 층에 큐브를 n^3개를 쌓고 그 다음 층은 (n-1)^3 개를 쌓게 됩니다. 그렇게 하여 가장 높은 층은 1^3 개의 큐브가 쌓이게 됩니다. 큐브가 주어졌을때 한개도 남기지 않고 큐브를 쌓을 수 있으면 층수를 리턴하고 큐브가 남을 경우 -1을 리턴하시오.

이런 문제가 나왔을때 수학공식이 바로 떠오르지 않는다면 일단 무식한 방법으로 풀고 개선하는게 가장 좋더군요.

 long long findNb(long long m)  
 {  
  long long sum = 0;  
  long long i = 1;  
  for (long long i = 1; sum < m; i++) {  
   sum += i*i*i;  
   if (m == sum) {  
    return i;  
   }  
   if (sum > m) {  
    break;  
   }  
  }  
  return -1;  
 }  


아 정말 너무 무식하네요. 여러가지 아이디어가 떠오르긴 했습니다만 세제곱인 관계로 그렇게 부하가 크지 않을것 같아서 submit 해버렸습니다.

댓글

이 블로그의 인기 게시물

WSL2 Ubuntu 20.04 및 네트워크 설정

리눅스 멀티코어를 사용하는 tar 압축/해제

git pull 을 했더니 branch가 갈라지는 경우