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 한 방법으로 풀어야 연락이 오나 ㅋㅋㅋ 근데 그 많은 사람들의 코드를 창의성까지 따져가며 리뷰할 확률이 ...
진짜든 장난이든 확실히 구글스러움.
다음 레벨들도 궁금해서 시간날때 한번씩 풀어보고 싶긴 한데... 늘 그렇듯 시간이...
암튼, 재미있은 경험이었음.