본문 바로가기

Problem Solving102

Convex Hull - CONVEXHULL 문제 링크(koitp.org/problem/CONVEXHULL/) ※ 비교 함수(i, j) : i < j인지의 여부 극단점을 기준으로 1) left turn이면 ok 2) 일직선상에 있고, 극단점으로부터의 거리가 i가 더 멀면 ok (PC에서는 아래 코드를 클릭하면 더 선명하게 보인다.) 2017. 2. 8.
삼성 SW 검정시험(Certificate Test) 가이드 (Professional, Expert) 오랫동안 프로그래밍 경시대회를 준비하였으며, 2015년부터 삼성전자 인재개발원에서 Expert 대비반과 Professional 대비반 실습 교육 강사를 하였습니다. 그동안의 경험을 바탕으로 직원분들이 문제해결능력과 구현능력을 키울 수 있는 방법에 대해 기술해보고자 합니다. 그리고 Professional과 Expert 검정시험을 잘 볼 수 있는 방법들에 대해서도 조언드리고자 합니다. 저에 대한 간략한 소개와 수상 이력은 이 웹페이지를 보시면 되겠습니다. ※이 글은 최소한 Professional 시험을 준비하는 분들을 위한 것이므로 기본적인 것들에 대해서는 생략하고 바로 본론으로 넘어가겠습니다. 그리고 내부 정보를 외부로 유출하는 것은 금하는 것이 원칙이므로 이에 유의하고 작성한 글임에 양해해주시기 바랍니다.. 2017. 2. 8.
Minimum Spanning Tree(최소 스패닝 트리) 1. Kruskal Algorithm (크루스칼 알고리즘) : Merge Sort + Union-Find2. Prim Algorithm(프림 알고리즘) : Heap 2017. 2. 7.
파티 참석하기 2 - PARTY2 문제 링크(koitp.org/problem/PARTY2/)STL 없이 코드를 작성해보았다. 우선, 이 문제에서 구하고자 하는 것은 max(dist(X→a)+dist(a→X))이다. dist(X→a)는 X번 학생의 기숙사 방에서 a번 학생의 기숙사 방에 이르는 최단거리이다. 따라서 이 문제는 주어진 그래프에 대해 dist(X→a)와 dist(a→X)를 계산하면 풀 수 있다. dist(X→a)는 주어진 그래프에서 점 X를 시작점으로 다른 점들에 이르는 최단 거리를 구하면 된다. dist(a→X)는 주어진 그래프의 간선 방향을 뒤집은 다음(간선의 시작점과 끝점을 바꿈), 위와 마찬가지로 계산하면 된다. 정리하면, 원래 주어진 그래프(G1)에 대해 점 X에서 단일 출발점 최단경로 알고리즘을 수행하고, 주어진 그.. 2017. 2. 7.
호감도 - GOOD_FEELING 문제 링크(koitp.org/problem/GOOD_FEELING)랜덤으로 선분을 결정한 다음, 답의 여부를 확인하는 걸 상수번 반복.20% 이상이어야 하기 때문에 답이 YES라면 높은 확률로 추출 가능.C++은 빨라서 100점이 나오는데, Python은 TLE 나온다ㅠㅠ 하지만 답은 다 맞음. 2017. 2. 5.