목록분류 전체보기 (257)
Joonas' Note
링크: https://www.acmicpc.net/problem/15683문제모든 조합을 살피고 시뮬레이션을 할 수 있어야 하는 문제. CCTV가 보고 있는 방향을 하나씩 선택하면서, 모든 방향이 결정됐을 때 시뮬레이션 후 사각 지대의 개수를 구한다. 모든 조합을 살피다가 사각 지대의 개수가 최소가 되는 조합에서 정답을 출력하면 된다. CCTV의 방향을 처리하는 시뮬레이션이 벽에서 막힌다거나 지도 밖으로 넘어가는 것 외에도 은근히 신경쓰이는 게 많다. 오목이나 틱택토류의 코드를 작성한 경험이 있다면 수월할 듯 상세한 부분을 제외하면 개략적인 구조는 이렇다. 여러 방향을 한번에 담아 처리하기 위해 비트로 각 방향을 표현했다. 비트가 겹치는 것을 확인하는 건 비트 AND연산으로 쉽게 구현할 수 있다. 예를 ..
링크: https://www.acmicpc.net/problem/1525 비트마스크로 해결하는 BFS이다. 3*3 퍼즐을 123 456 780 의 9자리 정수로 본다. 여기서 123456780이 문제에서 말하는 정리된 상태, 즉, 목표이다. 각 칸마다 퍼즐을 이동 시킬 수 있는 주변 4방향이 다르다. 구현하는 방법은 각 칸마다 인접 리스트를 만들거나, 행렬로 표현하든지 if문으로 하는 등 다양하다. 아래 코드에서는 반대로 이동이 불가능한 방향을 저장해서 구현했다. 문제는 "123456780" 과 같은 상태를 방문 했는지 여부를 확인하기에는 visit[876543210]를 수용할 수 있는 배열 크기가 필요하다. 하지만 실제로 나타날 수 있는 상태의 개수는 9!=362,880 이다. 방문했음을 저..
릴리즈 파일을 찾았다!https://drive.google.com/open?id=1yax_k-xiMhbjOTNPg3MFv_nIlx0BryzrUnityPlayer.dll 파일 때문에 20MB를 넘어, 첨부하지 못했다. 홍보 영상 2017년도 교내 작품경진대회 출품을 위해 제작했다. 제작 기간은 1~2주정도.아이콘들은 Font Awesome에서, 카툰 렌더링은 에셋 스토어에서 Toon Shade를 사용했다. 숫자판은 직접 포토샵으로 제작하였다.발표 당시 사용한 PPT 3d mine sweeper with unity 3d from Joonas Yoon 어떤 한 블럭의 주변 26방향에 대해서 표시하려 했지만, 숫자 표현이 더러워서 포기하였다. 그리고 하나의 단면에 대해서만 집중하고 힌트가 부족할 경우 다른 단면..
(07:19:34) joonas@ubuntu ~/test (master) $ git push -u origin masterUsername for 'https://github.com': joonas-yoon Password for 'https://joonas-yoon@github.com': Counting objects: 11538, done. Delta compression using up to 2 threads. Compressing objects: 100% (11254/11254), done. Writing objects: 100% (11538/11538), 165.52 MiB | 13.39 MiB/s, done. Total 11538 (delta 1192), reused 0 (delta 0) rem..
2018년 4월 26~27일(1박 2일)동안 진행된 네이버 AI HACKATHON 2018(https://github.com/naver/ai-hackathon-2018)에 참가했다.대회 방식은 네이버에서 개발중인 클라우드 머신러닝 플랫폼 NSML을 사용하여 진행되었다.미션은 네이버 지식iN 질문 유사도 예측 문제와 네이버 영화 평점 예측 문제, 이렇게 2개였다. 나는 팀명 "error 모르게따"로 참가하여, 네이버 지식in 미션에서 2등으로 대회를 마쳤다. 숙소식사부터 숙소까지 대회가 진행되는 동안 너무 좋았다! 저희 팀은 3명이라 숙소 배정이 어떻게 될 지 몰랐는데, 3명 모두 1인 1실로 배정돼서 와 대박이네 하면서 편하게 쉬었다. 덕분에 팀원끼리도 편하게 쉬면서 같이 움직이니 더욱 잘 진행되는 기분..
링크: https://www.acmicpc.net/problem/2225 문제의 예시로 n=20, k=2일 때 나올 수 있는 경우의 수는 0 + 20 1 + 19 2 + 18 ...19 + 120 + 0로 총 21개이다. 풀이n=20이고 k=3이라면, 경우의 수는 아래와 같은 모양으로 전개된다.(n=20, k=3) = (n=20, k=2)+ (n=19, k=2)+ ...+ (n=1, k=2)+ (n=0, k=2) 3개의 수를 n=20 내에서 고르는 경우의 수 = 첫 번째 수로 0을 사용하고, 나머지 2개의 수를 n=20 내에서 고르는 경우의 수+ 첫 번째 수로 1을 사용하고, 나머지 2개의 수를 n=19 내에서 고르는 경우의 수+ .... 작은 문제로 쪼개어 해결이 가능하다. dp 테이블을 두고 메모이제..
Github Gist에서 간단한 소스 파일을 작성하여 글에 첨부하기 좋도록 embed 태그로, 또는 보기 편하도록 퍼머링크를 제공한다. 하나의 gist는 만들 때 secret/public 중에 골라서 만들 수 있다. secret은 나중에 Edit에서 Make public으로 공개할 수 있다. 근데 반대로 public gist에서는 비공개로 전환하는 Make secret 버튼이 없다. https://gist.github.com/zmwangx/bc79e7d95d82c2f5e0976975b6e1c6d6왜 Make secret 버튼이 없냐는 질문에 답변은 대충 이렇다.비밀로 바꾸게 되면 URL 주소가 바뀌어서 사용자들에게 혼란이 생긴다.한번 공개된 이상 비밀은 끝났다고 생각하면 이해가 된다. https://he..
링크: https://www.acmicpc.net/problem/3075 문제p개의 은하가 있을 때, n명과 교통비의 합이 최소가 되는 어떤 하나의 은하(미팅 장소)를 찾는 문제이다. 조심할 것조건이 특별히 안 적혀있어서 조심해야 할 게 많은 문제였다. 주의해야 할 조건으로는1. 하나의 은하에 여러 사람이 있을 수 있고2. 은하와 은하 사이에는 여러 개의 길이 존재할 수 있다(doju님의 데이터 추가 글) 나는 외딴 섬에 대한 케이스를 처리 못해서 틀렸었다. 풀이미팅 장소가 될 은하를 하나 잡고, 그 은하로부터 나머지 사람들과의 거리의 합을 구한다. 이 때, 거리의 합이 최소가 되는 은하가 정답이다. 은하의 개수 p<100 로 작은 크기이기 때문에, 플로이드-와샬 알고리즘으로 구현하면 간단..