'2009/06'에 해당되는 글 4건

  1. 2009.06.26 봄싹 MT 단체사진(updated) 9
  2. 2009.06.11 6/13일... 봄싹 프로젝트 관련 모임안내 !
  3. 2009.06.02 f(n) = n 찾기 퀴즈 8
  4. 2009.06.01 6월 첫주 스터디 공지 입니다. 22
2009. 6. 26. 21:57

봄싹 MT 단체사진(updated)

012


사진 용량이 너무 커서 브라우저가 버벅거리네요;;
누락됐던 사진 한 장 추가 하고 슬라이드로 바꿨습니다.

2009. 6. 11. 10:16

6/13일... 봄싹 프로젝트 관련 모임안내 !

봄싹 사이트 개발 관련 스터디 진행합니다.
발표는 없고 회의 위주로 진행할 생각입니다.
회의가 후딱 끝나면 바로 개발을 진행할지도 모르겠습니다.

다음 주에 있어야 할 격주 스터디는 봄싹 MT로 대체 하겠습니다. :)

일시: 이번주 토요일 6월 13일 오전 10시 ~ 오후 1시(3시간)
장소: 신촌 거구장 한빛교육센터 지하 1층 6강의실

메일 확인이 느린 분들을 위해서 ... ;; 그룹스에 올라온 모임 공지 입니다 !

이번모임은 스터디가 아닌 봄싹 프로젝트 진행관련 off 모임입니다.. ^^

2009. 6. 2. 20:31

f(n) = n 찾기 퀴즈

우연찮게 성윤이 블로그에 구글입사문제라는 퀴즈를 봤습니다. 일도 많은데, 저도 모르게 막 풀고 있어 덕분에 야근 하고 있습니다. 풀기는 풀었는데, 좀 오래걸렸네요.

양수 n에 대해서 1과 n 사이에 1이 나오는 횟수를 나타내는 함수를 f(n)이라고 한다. 예를 들어 f(13)=6이다. f(n)=n이 되는 첫번째 양수는 1이다. 두번째 양수는 무엇인가.?

간단하게 f(n) = f(n-1) + (n값의 1이 나온횟수)
를 이용해서 recursive call을 쓰면 될줄 알았는데, 값이 커지면 StackOver가 나오더군요. n값을 그냥 문자열로 변환해서 1을 세는 부분도 값이 커지니까 문제가 되었습니다..

그래서 열심히 짱구를 굴려 그냥 내장 연산자를 사용했습니다.

 public int oneCount(int n) {
  if(n <= 0) {
   return 0;
  }
  
  boolean result = true;
  int sum = 0;
  while(result) {
   sum += n % 10 == 1 ? 1 : 0;
   n = n / 10;
   result = n > 0 ? true : false;
  }
  return sum;
 }
10으로 나눈 나머지 값을 비교하는 룰을 사용했습니다.

 public int f(int n) {
  int result = 0;
  for(int i = n; i > 0 ; i--) {
   result += oneCount(i);
   
   if(index == n - 1) {
    result += value;
    break;
   }

  }
  
  index = n;
  value = result;
  return result;
 }

f(n)은 값은 f(n-1)값을 사용 함으로 n값을 순차적으로 올려 최소값을 찾을때 속도가 아주 좋아졌습니다.

 @Test public void testOneCount() {
  Assert.assertEquals(1, oneCount(1));
  Assert.assertEquals(0, oneCount(2));
  Assert.assertEquals(0, oneCount(9));
  Assert.assertEquals(1, oneCount(10));
  Assert.assertEquals(0, oneCount(999));
  Assert.assertEquals(3, oneCount(111));
  Assert.assertEquals(1, oneCount(100));
  Assert.assertEquals(0, oneCount(200));
  Assert.assertEquals(1, oneCount(1234567890));
  Assert.assertEquals(0, oneCount(9368));
 }
 
 @Test public void testF() {
  Assert.assertEquals(1, f(1));
  Assert.assertEquals(7, f(14));
  Assert.assertEquals(199981, f(199981));
 }

 @Test
 public void testFindValue() {
  int index = 2;
  while(f(index) != index) {
   index++;
   if(index == 1000000) {
    index = -1;
    break;
   }
  }
  System.out.println(index);
 }




이제 구글 입사하면 되나요? ㅋㅋㅋ
2009. 6. 1. 09:33

6월 첫주 스터디 공지 입니다.

6월 6일이 현충일인 관계로 한빛교육센터에서 스터디를 못하게 되었습니다..
그리하여~ 전에 모였던 종로 토즈에서 스터디를 진행할 계획입니다..

대장인 기선이 형이 신혼여행을 간 관계로 .. 불참하오니.. 좀더 잼있는 스터디가 되지 않을까 생각합니다..ㅋㅋㅋ
가기전에 몇가지내용을 전달 받았습니다..

발표자 : 김정우님(IoC), 김재진님(Validation). 이렇게 두분.
그되 진행 사항. 고종봉님을 위한 봄싹 프로젝트 따라해보기... 시간이 남는다면 간단한 CRUD 작성~

이렇게 진행 될 계획입니다... 발표자 분들께선 발표 가능하신지... 댓글 남겨주세요 ~~

일시 : 2009년 6월 6일 10:00 ~ 12:00
장소 : 종로토즈(약도참조)
중요 : 유료 공간을 대여 하는 만큼 ~ 스터디 회비가 있네요 ~ 일인당 5천원입니다...

참석희망자 분께서는 6월 2일 13:0-0 까지 댓글 달아주세요 ~~ 예약을 미리 해야 해서요~

그럼 주말에 뵙겠습니다 ~

2009.6.2 update ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

재진이가 불참하는 관계로 ... 일단 발표는 정우 형님과 ~ 성철형님의 발표 ...  요렇게 진행합니다 ~
그외 시간은 ~~~~ 봄싹 프로젝트 관련해서 ~ 진행하죠 ~

토즈는 최소 6인 최대 9인으로 예약했습니다 ~~
일단  현재 6명 오신다니 ~ 최소요금은 맞출 수 있네요 ~ ^^