기대 안하고 있다가 다른 사람이 컷이 4문제 정도일 것 같다는 말에 혹시? 했는데..

본선 진출..... ㅋㅋㅋㅋㅋㅋ


가볼까 말까........


(08.11 18:12 수정)


----------------------------------------------------------------------




예선 참가 도중의 스크린샷도 하나도 없고, 끝나고 완전히 다 닫혀버려서 소스코드도 하나도 없어서 그냥 지나가려고 했지만,,

그래도 재밌었던 경험이라? 조금 부끄럽기도 하지만 짤막하게 남겨본다.


알고리즘 같은걸 제대로 배워본 적도, 공부해본 적도 없어서 보통 이런 대회는 자신이 전혀 없고,,

괜히 쳤다가 참혹한 현실의 결과에 우울할 것 같아 응시를 잘 안하지만,

그래도 잉여로운 나날에 변화점이 될 수 있지 않을까 시도해봄.


예선은 원래 오후 1시 ~ 7시였지만, 당일날 멍때리고 있다가 오후 2시부터 시작하였다.


다행히 문제를 보고 싶다는 동아리 선배의 말에, 스크린샷/복붙을 해둔 친구가 있어서 글 쓰기는 조금 편한 듯.

기본 코드를 제외한 문제 원문이 그대로 있지만, 혹시 모르니 다 올리진 않고 적당히 내 기억에따라 작성...


언어는 C++, Java 2가지였고, 원래 Java 를 별로 안좋아할 뿐더러 C++11 이라 Java 보다 불편할 이유가 없었기에 모두 C++ 로 풀었다.

여튼 문제는 총 6문제!


1 -> 2 -> 4 -> 5 -> 3 순으로 풀었는데, (6은 못품)

1 -> 2 -> 4 까지 2시간 정도 걸렸고, 5번을 푸는데 1시간 정도 투자했던 것 같다.


3번도 1시간 정도 투자했던 것 같지만 결국 못풀었고...

6번은 제대로 시도조차 못해봤다.


결론적으로 1, 2, 4, 5번 이렇게 4개 문제를 풀었음.



Code Festival 문제

1. 카카오 프렌즈 컬러링북


2차원 벡터로 표현된 이미지에서 가로세로 같은색끼리 classification 해서 총 몇개 그룹으로 나뉘는? 뭐 그런 문제였다.

그냥 재귀함수 하나 짜서 돌렸다.


2. 보행자 천국


2차원 맵을 주고 좌측 상단에서 우측 상단까지 최단거리로 가는데, 지점마다 제한(방향전환 불가 / 진입불가)이 있고, 총 몇개의 루트가 있는지를 구하는 문제.

얘도 마찬가지로 재귀로 짰는데, 타임아웃이 났다.

벡터를 하나 더 만들어서, 한번 경우의 수가 구해진 경로는 저장을 했더니 통과.



3. 브라이언의 고민

♚프☆렌☆즈☆레☆이☆싱♚★사전예약★진행중
$지금$예약시♜이모티콘♜100%※증정※
★라이언★카트♨전원♨획@득@기@회
즉시이동 http://...

sentence 

answer 

 HaEaLaLaObWORLDb

 HELLO WORLD

 SpIpGpOpNpGJqOqA

 SIGONG JOA

 AxAxAxAoBoBoB

 invalid


스팸필터를 피하기 위한 규칙적인 광고글을, 원래 문구로 복구시켜보는 문제.


파이썬을 사용하지 않는 문자열 처리를 싫어해서 젤 뒤로 미뤘는데, 결국 마감시간에 쫓겨 제출하지 못했다.

나름 짠다고 짰는데, 경우의 수를 제대로 고려해주지 못했다.

급하게 작성을 하다가 결국 풀지 못한 문제...

중간에 안놀고 1시부터 제때 풀기 시작했으면 풀 수 있지 않았을까 싶어서 아쉬움이 많이 남는다.



4. 4단 고음


어.. 음...

시작음이 1이라고 할때, x3 +1 +1 순서로 높아지는 3단 고음을 구현하는 아이유가,

삼단고음을 중간중간 섞어서 당일 컨디션에 따라 원하는 고음 높이를 구현하기 위한 가지수를 구하는...(뭔소리야)


(생략)

3단 고음은 다음과 같이 적용된다. 1단계에서는 음높이가 세 배가 되며, 2단계와 3단계에서 음높이가 각각 1씩 증가한다. 이를 기록으로 남길 때 * 와 + 기호를 사용하기로 했다. 즉, 3단 고음을 한 번 한 경우는 문자열로 나타내면 다음과 같다.

*++

(생략)

3단 고음의 2단계를 마친 후 3단 고음을 새로 시작한 다음, 나머지 단계를 이어서 하는 경우는 *+*+++

(생략)


 *

 x3

+1 

x3 

+1 

+1 

+1 


최종 음높이: 15



위 문제들과 마찬가지로 그냥 재귀로 역으로 찾으면서 내려갔다.

당연히 그냥 전체 돌면 타임아웃이 나고 중간에서 적당히 빠져나와줘야 하는데...


역계산 하면서 나오는 + 갯수상, 반드시 나와야하는 * 갯수(예를 들어 +가 3개라면 남은 *은 2개, 즉 현재 계산 중인 높이가 3^2 = 9 이상)로 먼저 걸렀는데 또 타임아웃.

그래서 다음으로 최종 음높이를, 밑을 3으로 하는 로그(log(n) / log(3)) 를 취한 값을 구해서, * 이 나올 수 있는 최대 갯수를 구한 다음에 이걸 기준으로 한번 더 걸러주니 정답처리 되었다.



5. 캠핑


쐐기의 좌표를 주고, 외곽선을 제외한 내부에 다른 쐐기가 없는, 대각선으로 쐐기 두개를 고르는 문제였다. (설명을 못하겠네.. ㅈㅅ..)


얘는 그냥 루프로 돌렸지만,, 당연히 그냥 다 돌면 타임아웃...


주어진 쐐기에 대한 좌표들을 x에 대해서, 그 다음 y에 대해서 정렬을 했고, 루프 안에서 인덱스 몇개를 저장하는 방식으로 루프 횟수를 줄이니 8.5초(...)로 통과가 되었다.



6. 신비로운 유적 탐험


트리의 최대 공통부분의 크기를 구하는 문제. 위 예시의 경우 답은 7


바이너리 트리였다면 좀 시도를 해봤을텐데, 시간도 없었고 감이 잘 안와서 시도도 못해본 문제...

1학년때 특허의 claims 항목과 관련하여 비슷한 논문(?)을 봤었는데, 그냥 그 기억만 떠오르고 말았다.




------


5문제 쯤 풀면 괜찮게 풀었다고 말할 수 있지 않을까.. 했는데 4문제로 그쳐 아쉬웠다.
사실 푼 4문제도 잘 풀었다고 말할 수 없을 것 같기도 하고...ㅠㅠㅠ

코드를 백업하지 못해 아쉽다고 생각하기도 했지만, 지금 생각해보니 있어봤자 부끄럽기만 했을 것 같기도 하다.
잘 푼 사람이나 모범답안(?) 같은거 몇개 공개해주면 정말 고마울 것 같은데....ㅠㅠㅠㅠ

결과가 어떤식으로 나올지, 잘한 사람들 코드를 공개해줄지 기대하며, 끝!



궁금하니 직접해보도록 하자.




동아리 등 카카오톡 단체 채팅방에 있다보면, 일명 "사진 테러", 사진이 주구장창 많이 올라올 때가 있다.


와이파이에 연결된 상태라던가.. PC 카톡을 하고 있다면 상관없지만,

현재 LTE 를 사용 중이라면? 내 데이터가 얼마 남지 않았다면?!!



사진을 왕창 올린 후 시작되는 대 탈주 시대..



이런 문제를 카카오톡도 어느정도 인지를 해서인지,

데이터 네트워크인 상태에서 고용량(3MB 이상) 사진을 다운받으려하면 바로 받지 않고 용량을 표시해주며 다시 한번 다운 받을지 선택지를 주게 된다.



Mac OS 에 있는 기본 바탕화면 중 하나.

9MB 가 넘는 용량에, 카카오톡에서는 "눌러서 보기" 라는 메뉴로 데이터 낭비를 방지한다.



하지만 이런 용량 큰 사진도 채팅방에 올라오면 미리보기로 작게 사진이 표시된다.




데이터가 아깝다고 나가는 사람들 대부분은 저 작은 사진 때문에!

채팅방에 바로 뜨는 저 사진은 나의 선택과 상관없이 무조건 표시된다.


채팅방에 사진이 우후죽순 계속 올라오고 내 데이터가 없으면 걱정될만도 하지.


자, 그럼 본론으로 돌아와서.

저 작은 사진의 용량은 어느정도 될까?


저렇게 작은 사진은 섬네일(thumbnail) 이라고 부르며, 

로딩 속도를 빠르게 하고 데이터를 절약하기 위해 본래 큰 사이즈의 사진을 작게 리사이징한 이미지들을 일컫는다.


업로드한 사진은 섬네일용으로 크기를 줄여서 카카오톡 서버에 추가로 저장되며, 위의 예시 사진의 경우엔 그 주소가

http://th-m4.talk.kakao.com/th/talkm/oWqVfrX2Dm/VIcT3QJjULUAtKhU8xxVv1/aas3nr_120x68.jpg

가 된다. (어떻게 알아내는지는 귀찮으니 패쓰, 여러가지 이유로 시간이 지나면 다운로드 안될 수 있음.)


다운 받아보면  이런 귀여운 크기와 작은 용량의 사진이 되어있음을 알 수 있다.


용량은 약 2KB


귀찮아서 많은 사진을 테스트해보진 않았지만,

섬네일 사진은 모두 대략 1~4KB 정도의 크기로 리사이징됨을 알 수 있었다.


즉, 최소 200여장 이상의 사진이 카톡방에 올라와야 1MB 를 소모한다.


물론 텍스트보다는 데이터를 많이 소모하지만, 

단순히 카톡방에 사진이 올라오는 것 만으로 데이터 폭탄을 맞을 만큼 데이터를 많이 소모하지는 않는다.


걱정하지 않아도 된다는 소리.

코딩하기 싫어서...ㅋㅋ

(죽어도 공부는 안하는 미친 고3..)



카톡

우선 카톡 빠른 답장 관련 글을 썼더니.. 카톡관련 리퍼러 들이 보인다..ㅋㅋ

"남친이 카톡 답장 잘 안할때", "카톡답장이없는이유", "카톡 확인하고 답장안하는 남친" 등등....


"카톡 답장하라고" 보고는 뿜었음..ㅋㅋ


답장 없는 이유야 뭐...

1. (난 안하지만) 롤 등 게임하고 있거나

2. 보고 나서 답장 하려다 그대로 망각

3. 핸드폰이 미쳐서

4.니가 싫어서(?)


이정도 겠지 뭐..

뻔한 질문을 인터넷에 묻고 그래?!! ㅋㅋ


"카톡 빠른답장", "카톡안들어가고 메세지보내기"

요런것도 있는데.. 아이폰용을 만들고 있긴 하지만 언제 될진 모름 ㅋ

기술적으론 큰 문제가 없는데.. 어떻게 해야 좋을지의 문제라고 할까나..?

그냥 단문 sms 처럼 보내기엔 재미가 없고, 카톡 채팅방을 그대로 불러오자니 이것도 뭔가 밋밋하고.. 여튼 그럼...ㅋㅋ



"앱 설치 여부 확인 safari"

예전부터 들어오던 리퍼러였지만 잘 모르겠어서 걍 씹고 있었음..

네이티브 앱에서야 IHasApp 이라는 프레임워크가 있다고 저번에 소개했었고..


문제는 웹에서인데... 보니까 확인 자체는 안되는 듯.

단지 꼼수로 url 호출과 앱설치 요구 팝업을 동시에(정확히는 url 호출을 먼저) 하는건데,

이럴 경우 설치되어 있으면 해당 앱으로 넘어가고, 설치 안될 경우 url 은 무시되고 팝업이 보인다.

단, 앱으로 넘어갔을 경우 다시 사파리로 돌아오면 팝업이 그대로 남아있는데 뭐 크게 상관없을 뿐더러

확실하진 않지만 스크립트로 죽일수 있지 않을까...??


VPN

"빠른vpn 앱"

돈주고 쓰거나 직접 구축하면 됨 ㅋ 그럼 빠름 ㅋ


"가상사설망 교육청"

사실 이거 땜에 vpn 항목을 넣었음. 저번에 다른 글에 끼워 쓴것 같기도 하지만 여튼..ㅋ

망할 교육청 네트워크는 포트들을 다 막아버려서...ㅠㅠ

포트 화이트리스트로 거르는 듯 한데 문제는 그 화이트리스트 조차 거의 없다 ㅠ

일단 프록시의 경우는 잘 되는 것 같은데...

pptp, l2tp, 일반적인 openvpn 포트는 당연히 다 막혀있고,

나의 경우 서버가 https 를 사용하지 않기 때문에 443(ssl 포트) 포트로 openvpn 을 열어서 사용했었다.

무료 openvpn 서비스 중에 443 을 사용하는게 하나 있어서 무료로 쓰는 사람들은 그거 써도 될듯..

terminal 어쩌구였는데 정확한 서비스 이름은 기억나지 않는다..


아직까지 미스테리인, 특이한 점은, 일부 안드로이드 폰들의 경우 l2tp 가 그냥 된다.....

왜 되는지는 전혀 모르겠다...........



deb

deb 만들기, package 만드는법 등의 리퍼러 들이 보이는데..(이것도 썼었나?)

윈도 계열에선 잘 모르겠다.

unix 계열에선 dpkg 설치해서 터미널상에서

# dpkg-deb -b 폴더명

하면 만들어짐. 물론 control 파일 같은것도 다 넣어놔야 겠지만....

자세히 쓰긴 귀찮고 비슷한 글을 써둔 것 같으니 찾아봐....ㅋㅋㅋ


saurik 누구

ㅋㅋㅋㅋㅋ 누구긴 누구야 ㅋㅋㅋ 사람이지 ㅋㅋㅋ

네이버가 저번에 욕 좀 먹더니 네이버 검색에서도 드디어 티스토리 블로그가 검색이 되는 듯 하다,,

아니, 정확히 말하면 검색로봇으로 수집된 자료들 중 출처가 네이버가 아닌 것도 상위로 올라오게 된 것일까..?

기존엔 구글,다음 검색 / 네이버 블로그와 까페에 쓴 글로 인한 리퍼러 밖에 없었는데
몇일 전 부터 네이버 검색으로 부터 들어오는 리퍼러 급상승...


그나저나 시디아 재설치는 왜이렇게 물어대는 거야..ㅡㅡ 
그 어떤 블로거가 유입 경로를 보고 포스팅을 할까?? ㅋㅋ
저 사람들이 다시 찾아 오겠냐 싶지만 그래도 함 적어본다..ㅋㅋ
몇가지 눈에 띄는 것들만 골라서 답을,,, 유입 경로 보다보면 한 사람이 여러번 들어오는 것 같은 느낌도 드네요 ㅋ



간단한 모바일 사이트 구축
-> 제로보드 xe 사용하고, 플러그인(맞나?) 활성화 하세요. ㅋㅋㅋ

시디아 은행 어플
-> 제껀 이제 업뎃 계획 없구요 법률 문제만 해결되면 다른 분이 올리실 겁니다.
단, 유료입니다. 금융 결제 못해서 더 큰 손해를 막아주는 거니 걍 돈주고 결제하세요!
한국 분이 개발자시니 별도 계좌이체도 받아주시지 않을까.. 하는 생각이..ㅋㅋ (시디아도 앱스토어 처럼 리딤 코드 개념이 있다고 하네요.. 또한 시디아 결제방식 쓰면 이리저리 수수료 많이 뜯겨서;;ㅋㅋ)


iphone command
-> 터미널 커맨드요? 리눅스/맥 과 똑같습니다. 단, 설치 안된것들은 시디아나 apt-get, aptitude 등으로 설치해주시면 됩니다.

deb 의존성 설치
-> 인스톨러들(시디아나 apt-get 등등)이 알아서 해줍니다.

아이패드로 홈페이지 만들기
-> 뭐 앱하나 있었던 것 같은데...

anybank
-> 개발 중지입니다. Financiabler 에서 파생된 소스로 만들어 진건데 왜 anybank 가 더 유명할까요? ㅠㅠ  뭐 둘다 별볼일 없는 앱인건 맞지만..ㅋ

시디아 재설치
-> 포스팅 했죠.

bundle identifier
-> 서포팅 웹 주소 역순하면 됩니다. 만, 도메인이 없으신 분들은 걍 com.아이디.앱 이름
하세요..ㅋㅋ 저의 경우엔 역순하면 관련 페이지로 연결되도록 만드는 편입니다...ㅎㅎ
앱 등록할때 bundle identifier 를 개발자 홈페이지에서 등록합니다. 이때 중복 검사 하므로 대강 규칙에 맞춰 만들어 주시면 되요..ㅋㅋ

ajax gzip unicode
-> 저랑 관계 없죠...

아이폰 순정 mobile Library
-> 접근 가능 합니다.

시디아 preferenceloader 없어요
-> ㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋ
해결법은, Activator 까시거나 developer 로 시디아 설정 변경 후 검색해보세요 ㅋ

xcode3 xcode 속도 비교
-> 딱히... 오히려 한글 관련 크래쉬 오류가 간간히 있어서;;
확실히 4에서 이것저것 편해진긴 했어요..ㅋㅋ 



와! 끝! ㅋㅋㅋㅋ 
원래 이런거 하면 금방 접어버리는데;;

일단 시도!!ㅎㅎ

초대장 받으려는데 좀 힘들어서 군대간 형 계정으로 접속해서 보내 버렸다;;

나중에 사실을 고하고 용서받아야지...ㅎㅎ


EtoiLe : 불어로 별 이라는 뜻

+ Recent posts