업다운 랜디 1일차

업다운 랜디 1일차. 간단히 말해서 처음에는 G5로 시작해서, 현재 티어에 맞는 문제 하나를 랜덤으로 고른 후, 30분 안에 문제를 풀면 문제 티어를 하나 올린다. 그렇게 못하면 문제 티어를 하나 내린다. 자세한 사항은 https://leo630.tistory.com/162 참조.

  1. G5 : boj 12438 : 새로운 달력 (Large) : 12m 45s
    간단한 수학 문제다. 줄이 넘어가는 경우를 달력 일수에 주당 일수를 한번 더한다고 생각하고, 일수가 정확하게 주당 일수의 배수가 되는 횟수를 gcd를 통해 계산해서 빼주면 풀린다.

  2. G4 : boj 14906 : 스러피 : 24m 05s
    구현 문제. Slump와 Slimp를 판단하는 함수를 구현한 후, 문자열을 뒤에서부터 봤을때 첫번째로 나온 C나 H의 위치를 기준으로 나누고, 각 부분이 Slimp, Slump인지를 판별하면 된다. 구현 이슈가 조금 있었다..

  3. G3 : boj 19584 : 난개발 : 16m 08s
    스위핑 문제. x축과 평행한 직선으로 평면을 나누니까, x좌표는 영향을 주지 않는다는 점을 주목해야 한다. 전부 y축과 평행하다고 생각한 후에, 두 장소 중 작은 y좌표를 들어서면, 정답에 c를 더하고 큰 y좌표 + 1을 들어서면, 정답에 c를 뺀다. 이 모든 이벤트를 좌표순으로 정렬해서 잘 구현해 주면 맞을 수 있다.

시간이 없어서 오늘은 여기까지 했다. 다음은 G2부터 시작한다.