본문 바로가기

2018/043

TopCoder Marathon Match 100 후기 이번 마라톤 매치에는 50등 이내의 참가자들에게 티셔츠를 주는 이벤트가 있었습니다.문제는 상당히 단순합니다. H*W 크기의 격자 판이 있습니다. 각 격자 칸에는 0 ~ C-1의 숫자가 있습니다. 여러분은 숫자가 같은 두 격자 칸을 선택해서 없앨 수 있는데, 추가적인 조건으로 두 격자 칸을 대각 꼭짓점으로 하는 직사각형 내에 다른 숫자의 격자칸이 있으면 안됩니다. 삭제된 칸은 숫자가 쓰여 있지 않다고 가정합니다. 가능하면 많은 수의 격자 칸을 없애야하는 것이 본 문제의 목표입니다.문제 본문은 다음 링크( MM 100 Problem Statement )에서 보실 수 있습니다. 대회 결과는 다음 링크( MM 100 Standings )에서 보실 수 있습니다. 아래 영상은 제가 작성한 코드가 격자 칸을 없애는 .. 2018. 4. 26.
SW 개발병 지원 과정 및 면접 후기 2017년 12월에 병무청 홈페이지에서 SW 개발병에 지원했다. 당시 4명을 뽑는데 2018년 4월 입대와 5월 입대 지원이 나뉘어져 있었고, 둘 중 하나를 선택해야 했다. 나는 특기병에 붙기만 하면 입대 시기는 큰 상관없었기 때문에 상대적으로 합격할 확률이 더 높을 것 같은 5월에 지원했다. 별도로 준비해야하는 것은 딱히 없었다. 이와 관련해서는 병무청의 공식 안내 자료( https://www.mma.go.kr/contents.do?mc=mma0001989 )를 참고하자. 자격증의 경우, 본인은 초등학생 때 취득한 정보처리기능사가 있었다. 학력은 고려대 컴퓨터학과(평가 시 '직접학과'로 분류) 4학년 재학 중(3학년 수료)이었다. 따라서 1차 평가(서류 심사)에서 34점/40점이겠구나 예상 가능했다. .. 2018. 4. 10.
BOJ '바리스타와 함께하는 대회 테스트' 풀이 Main Page / Scoreboard A. 농부 후안은 바리스타입니다 2차원 fenwick tree를 이용하여 O(Q log N log M)에 해결할 수 있다. [x1, y1]×[x2, y2] 영역에 +d하는 연산을, (x1, y1)와 (x2+1, y2+1)에 +d하고 (x1, y2+1)와 (x2+1, y1)에는 -d하는 연산으로 치환한다. 이렇게 치환한 상황에서 (x, y)에 위치한 씨앗의 개수는 [1, x]×[1, y]에 있는 씨앗의 개수를 계산하는 연산으로 치환된다. 아래의 코드를 참고하자. B. 로스팅하는 엠마도 바리스타입니다 어떤 정점 X를 루트로 하는 트리를 가정하자. 이 때 다른 정점들에서 X로 이르는 최단거리의 합 S(X)에 대해 관찰하자. 트리에서 임의의 두 정점 사이를 잇는 경로는 .. 2018. 4. 9.