백준 기록 아카이빙
·
개발/백준
지난 4월 28일을 끝으로 서비스 종료를 한 백준에서 내가 달성한 기록들을 아카이빙하는 목적으로 작성하는 글이다. 원래는 직전에 게시했던 '백준을 보내며(https://clockworks.tistory.com/51)' 와 함께 올렸어야 하는 글이었는데, 시간이 없어서 급하게 캡처만 해둔 것을 지금 올린다. 전문적으로 PS를 하신 분들에 비하면 문제 양치기(심지어는 그마저도 대다수가 날먹 문제들이다)로 달성한 골드 4는 초라한 스펙이다. 게다가 이렇게 아카이빙까지 하는 것은 호들갑으로 보일 수도 있다. 그렇지만 나의 백준 활동을 추억하고, 소소하지만 내 기준에서는 뿌듯했던 성과들을 자랑하는 것으로 봐 준다면 감사하겠다.백준 프로필맞은 문제 364개 맞았지만 만점을 받지 못한 문제 1개 시도했지만 맞지 ..
[백준] 34619번: 소대 배정 [python]
·
개발/백준
# 문제34619번: 소대 배정https://www.acmicpc.net/problem/34619 34619번: 소대 배정오늘은 하늘이가 공군 기본군사훈련단에 입소하는 날이다. 하늘이가 배정된 대대에는 a개의 중대가 있고, 각 중대에는 b개의 소대가 있으며, 각 소대에는 정확히 n명의 훈련병이 배정된다.www.acmicpc.net# 접근a는 중대의 수, b는 소대의 수, n은 소대당 인원, k는 하늘이의 입소 순서이다.n과 k에서의 연산을 통해 하늘이가 몇 번째 소대에 배정되는지 구하고, 그 소대가 몇 중대 몇 소대인지를 구하면 된다. 예를 들어 n = 3이라면, k = 7, 8, 9일 때 하늘이는 모두 3번째 소대에 입소할 것이므로 이 케이스에서 모두 같은 값을 내는 식을 만들면 된다. k/n 값을 올..
[백준] 30052번: 거리 두기 게임 [C/C++]
·
개발/백준
# 문제30052번: 거리 두기 게임https://www.acmicpc.net/problem/30052 30052번: 거리 두기 게임격자판 위의 두 칸의 좌표를 각각 (x1, y1), (x2, y2)라고 할 때, 두 칸 사이의 택시 거리는 (|x1 - x2| + |y1 - y2|)이다.www.acmicpc.net# 접근문제에서 제시된 게임을 좀 더 간단히 생각해 보자.준성이는 두 말 사이의 거리가 최대한 작도록, 효석이는 크도록 해야 한다.효석이가 말을 어디에 두어도 자신의 말과의 거리가 D 미만이 되게 하려면, 준성이는 최대한 격자판의 가운데에 자신의 말을 놓는 것이 최선의 선택이다. 반대로 효석이는 최대한 가장자리에 말을 두어야 한다. 특정 경우에선 준성이가 말을 최선의 선택으로 두었을 경우 효석이는..
[백준] 15565번: 귀여운 라이언 [C/C++]
·
개발/백준
# 문제15565번: 귀여운 라이언https://www.acmicpc.net/problem/15565 15565번: 귀여운 라이언꿀귀 라이언 인형과, 마찬가지로 꿀귀인 어피치 인형이 N개 일렬로 놓여 있다. 라이언 인형은 1, 어피치 인형은 2로 표현하자. 라이언 인형이 K개 이상 있는 가장 작은 연속된 인형들의 집합의www.acmicpc.net # 접근라이언 인형( = 1)이 k개 이상 있는 가장 작은 연속된 인형들의 집합을 찾아야 한다. 집합의 크기를 명시해 주지 않기 때문에, 이중 for문을 이용한 브루트 포스 식의 순회가 불가능하다(사실 가능하다 할지라도, N의 크기가 106이기 때문에 시간복잡도에서 걸릴 것이다). 따라서 새로운 접근 방식을 생각해야 한다.이럴 때 필요한 것이 바로 투 포인터 알..