Google Foobar - 구글 푸바

COM2016. 10. 18. 22:23 |

구글링 도중 갑자기 화면이 깨지면서 "you ... our language" 어쩌고 하더니, code challenge 해보겠냐고 물어봄.


구글이 easter eggs 나 prank (가령, recursion 을 검색한다던가) 를 많이 심어놓은 건 익히 알아서, 이건 또 뭔가 하고 클릭해봄.


갑자기 page 가 linux 스러운 terminal 로 변함.


무슨 창작 우주 동화같은 스토리가 좀 나오더니, 다음과 같이 문제가 나옴.





둥그런 케이크의 테두리를 M&Ms 로 둘러서 장식했는데,

M&Ms 에 알파벳 소문자가 써있고,

M&Ms 의 놓인 모양이 모두 똑같은 케잌 조각으로 나누어 먹으려고 함.


M&Ms 알파벳들이 놓인 전체 string s 로 부터,

최대로 나눠먹게을수 있는 케잌 조각수를 구하는 함수 answer(s) 를 작성하라는 내용.


가령,

'abccbaabccba' 인 경우, abccba / abccba 이므로 2

'abcabcabcabc' 인 경우, abc / abc / abc / abc 이므로 4


파이썬이나 자바로 풀라고 함. 다른 언어는 지원 안하는 듯


파이썬 버전은 어떤거 쓰나 궁금해짐.

문제 푸는데는 차이가 없을거 같았지만 그래도 궁금해서 보니까

문제의 제한조건등은 다음과 같이 볼 수 있음.





파이썬은 2.7 임. (3.x 는 언제쯤 널리 쓰일런지 ...)


암튼, 풀면 어떻게 되나 궁금해서 (문제가 만만해 보이기도 하고?) 일단 풀어봄.

알고보니 레벨 1 이라 ㅎㅎㅎ


코드를 작성하는 법은,

디렉토리 안에 solution.py 가 있는데,

edit solution.py 라고 커맨드를 치면,

vi 같은 text editor 가 화면 오른쪽에 생김.


editor 안에는 이미 함수 definition 이 시작되어 있고,

comment 로 여기다 코드를 치라고 나옴.

거기에 코드를 치면 됨.


저장하기랑 나가기가 있음. 다쓰고 저장하고 나간다음,

verify solution.py 라고 치면, 코드를 테스트 해 볼수 있음.


test case 들로 테스트를 돌려주는 거 같음.

모든 테스트 케이스에 대해 패스하면, 다음과 같이 녹색으로 메시지가 뜸.

이 때 submit solution.py 로 제출하면 되는듯.






제출 했더니 다음과 같은 화면이 나옴.




참고로, 저 토끼는 막 뛰어다님.


일단 초대를 받으면, google 로 로그인한 상태에서는 google.com/foobar 로 들어갈 수 있는 거 같음. 들어가니까 계속 이어서 나옴.


검색해보니, level 5 까지 다 풀면 무슨 구글에서 인터뷰 초대(?) 같은게 온다는 전설의 레전드가 있는 모양이던데, 그냥 낚시라는 얘기들도 있음.

아니면 엄청 impressive 한 방법으로 풀어야 연락이 오나 ㅋㅋㅋ 근데 그 많은 사람들의 코드를 창의성까지 따져가며 리뷰할 확률이 ...


진짜든 장난이든 확실히 구글스러움.

다음 레벨들도 궁금해서 시간날때 한번씩 풀어보고 싶긴 한데... 늘 그렇듯 시간이...


암튼, 재미있은 경험이었음.