백준10 [6개월 안에 백준 플래티넘 달성하기] 7. 가장 가까운 세 사람의 심리적 거리 20529 | 백준 골드 달성 | 코틀린 2023. 10. 1 ~ 2023. 11. 09 골드 달성 실버 1 문제들을 풀기 시작하면서 슬슬 저의 멘탈을 힘들게 하는 문제들을 마주하게 되는 거 같습니다. 많이 접해보지 못한 알고리즘 유형이거나 수학적 지식이 필요한 문제일수록 풀기 어려워지는데 해당 문제도 이러한 이유로 풀지 못하고 결국 해설을 보고 풀게 되었습니다. 가장 가까운 세 사람의 심리적 거리 문제 풀이 개인적으로 해당 문제는 알고리즘에 대한 이해보다 수학적 센스가 있어야 풀 수 있다고 생각합니다. 그런 의미에서 못 풀었다는 거에 좀 더 좌절감을 느끼게 되었던 거 같습니다. 가장 기본적으로 생각나는 풀이법은 N개의 mbti를 모두 비교해 보는 것입니다. 그렇게 되면 복잡도는 N * (N-1) * (N-2) * 4 = N^3 가 되는데 N의.. 2023. 11. 9. [6개월 안에 백준 플래티넘 달성하기] 6. 색종이 만들기 2630 | 코틀린 색종이 만들기 문제는 정답비율이 69%로 쉽게 접근하였으나 풀지 못한 문제입니다. 이 문제의 경우 어떤 알고리즘 기법으로 접근하는지에 따라 문제의 난이도가 달라지는 거 같습니다. 저 같은 경우에는 구현 또는 BFS로 문제에 접근하였으나 여러 가지 예외 케이스가 발생하였고 이를 해결하지 못하여 풀지 못하였습니다. 해당 문제는 분할 정복 기법으로 풀 수 있으며 꽤 간단한 로직으로 답을 구할 수 있습니다. 문제 풀이 분할 정복이라는 말처럼 NxN의 색종이를 4등분으로 분할해 나가면서 조건에 맞는지 체크해 주면 됩니다. 분할하는 과정에서 재귀함수가 사용됩니다. fun main() = with(System.`in`.bufferedReader()){ val N = readLine().toInt() val arr =.. 2023. 10. 31. [6개월 안에 백준 플래티넘 달성하기] 5. 1로 만들기_1463 | 코틀린 Class 3 문제에 들어서면서 동적 계획법(DP) 문제들이 보이기 시작했습니다. 제가 처음 코테를 공부하기 시작하였을 때 벽을 느끼게 해 준 문제도 바로 DP문제였습니다. 아직도 많이 어렵지만 그래도 이제는 기본적인 DP문제들은 어느 정도 풀 수 있게 되었습니다. 그런 의미에서 DP의 기초문제 중 하나인 1로 만들기를 가져왔습니다. 다시 말해 주어진 정수 X를 위 3가지 연산을 최소로 사용하여 1로 만들면 됩니다. DP문제는 가장 먼저 해당 문제 유형이 DP라는 것을 알아차리는 것이 중요하다고 생각합니다. 저는 처음에 이 문제가 DP인지 모르고 정수 X를 최소한의 방법으로 1로 만드는 수학적 규칙을 찾는 방향으로 문제를 풀었습니다. 물론 이러한 규칙은 존재하지 않았고 스트레스만 받고 끝났습니다. 풀이방.. 2023. 10. 26. [6개월 안에 백준 플래티넘 달성하기] 4. 마인크래프트_18111 | 코틀린 2023. 10. 7 ~ 2023. 10. 24 백준 솔브 CLASS2 문제 풀이 완료, 실버 3 Class 2까지 모든 문제를 클리어했습니다. 실버 2 문제부터 바로바로 풀이가 되지 않고 조금씩 막히면서 난이도가 올라갔음을 느끼고 있습니다. 그런 의미에서 Class 2의 마지막 문제 마인크래프트_18111를 가져왔습니다. 문제 팀 레드시프트는 대회 준비를 하다가 지루해져서 샌드박스 게임인 ‘마인크래프트’를 켰다. 마인크래프트는 1 × 1 × 1(세로, 가로, 높이) 크기의 블록들로 이루어진 3차원 세계에서 자유롭게 땅을 파거나 집을 지을 수 있는 게임이다. 목재를 충분히 모은 lvalue는 집을 짓기로 하였다. 하지만 고르지 않은 땅에는 집을 지을 수 없기 때문에 땅의 높이를 모두 동일하게 만드는 ‘땅.. 2023. 10. 24. 이전 1 2 3 다음 반응형