https://www.acmicpc.net/problem/17472 크루스칼 알고리즘 풀려고 했던건데 bfs 구현하는데 더 오래 걸린.. 해결 과정 bfs를 돌며 섬의 번호를 색칠한다. 입력이 섬을 1,바다를 0으로 주어졌으므로 섬 번호를 1번부터 부여하기 위해
https://www.acmicpc.net/problem/13460초반에 구슬을 저장할 구조를 따로 만들었다가 낭패를 봤다...설계부터 꼼꼼히 하고 타이핑하는 습관을 가지자.구슬들의 시작위치를 기록하고 큐에 넣는다.bfs를 하며 4방향으로 굴린다.한 번에 한
https://www.acmicpc.net/problem/1005위상정렬을 이용한 문제이다.도착 위치가 3 일때,{1}->{3} 으로 바로 가는 경우와 {1}->{2}->{3}으로 다른 노드를 거쳐 가는 경우가 존재할 때, 이를 어떻게 해결할지만 조심하면 바로
https://www.acmicpc.net/problem/1202으아아 아직 그리디 문제에 대한 감이 부족한 것 같다. 그리디 문제를 좀 많이 풀어봐야겠다.보석의 무게와 배냥의 무게를 정렬해야겠다는 생각까지는 하였으나, 가치를 어떻게 정렬 해야할지 고민을 제대
https://www.acmicpc.net/problem/1644소수를 구하고 누적합과 투포인터를 사용하면 쉽게 풀 수 있는 문제이다.소수를 효과적으로 구하는 방법을 찾아 보니 에라토스테네스의 체라는 방법이 있었다.에라토스테네스의 체를 활용해 소수를 구한다.n
https://www.acmicpc.net/problem/9328 알고리즘의 묘미랄까.. 다 풀고 남들의 코드를 보는데 나와 다른 부분이 있어 흥미로웠다. 시작 지점을 구하는 방법 내 방법: 입력을 받으며 테두리일 경우 '.'인 경우 따로 저장 찾은 방법:
https://www.acmicpc.net/problem/1509 무려 DP를 2번이나 구현해야하는 문제이다. 풀이 과정 팰린드롬 구하기 문자열의 범위(0~len)일때 ,구하려는 범위의 시작을 s, 끝을 e로 두고, 범위는 (e-s+1)라고 하자 범위가 1일때:
https://www.acmicpc.net/problem/2143나는 투 포인터를 활용해서 풀었는데, 이진탐색을 사용해서 푼 사람들도 많았다.시간복잡도는 거의 동일하니 편한 방법을 쓰면 될 것 같다. 소요 시간만 놓고 보면 투포인터가 조금 더 빠르게 찍혔는데,
https://www.acmicpc.net/problem/2805예전에 class3 에센셜 문제를 다 풀었었는데, 새롭게 한 문제가 생겼길래 풀어봤다.제일 까다로웠던 부분이 나무의 길이가 '넘침'>'적음'>'넘침'으로 갈 때 종료 조건을 어떻게 할까였는데, 생
https://www.acmicpc.net/problem/1939 처음엔 크루스칼 알고리즘밖에 떠오르지 않았다. 가중치의 최댓값을 작고 점점 작게 탐색한다면... 쉽게 할 수 있을 것 같았다. 그러나! 나는 이분 탐색을 공부 중이기때문에, 이분 탐색으로 어케할지 이리저리 고민해봤다... 파라메트릭 서치 문제를 풀고 여러 블로그들을 돌아보니, 이런 종류의 ...
https://www.acmicpc.net/problem/15732 와!! 이분탐색 문제중에 처음으로 보자마자 슥슥 접근하고 바로 구현해냈다.. 사실 규칙이 쉬워서 금방 발견한거긴 하지만..
https://www.acmicpc.net/problem/12015이진탐색의 사용은 무궁무진하구나...처음엔 엥? 아무리봐도 dp문제인데? 했는데 시간복잡도가 O(N^2)이면 못푸는 문제더라...^^ 아무리봐도 모르겠어서 인터넷 보면서 풀었다..결과 배열을 만
https://www.acmicpc.net/problem/3151값이 중복되지 않게 예외 처리를 해줘야 하는데 이 점을 내가 간과해서 꽤나 애를 먹었다.세 수를 합해야 하므로 모든 수를 따지면 $N^3$이므로 시간 초과이다.그러나 두 수를 더하고 0에 수렴하는