-
[99클럽/코딩테스트 챌린지/C++]게임 레벨 점수를 최소한으로 감소시켜 순서대로 증가시키기유니얼문제 링크 : https://www.acmicpc.net/problem/2847 문제 설명동준이가 만든 게임에는 여러 레벨이 있고, 각 레벨을 클리어할 때 점수를 얻는다. 이 점수는 레벨이 높아질수록 커져야 하지만, 현재는 쉬운 레벨의 점수가 어려운 레벨보다 높은 경우가 존재한다. 이를 해결하기 위해 각 레벨의 점수를 감소시켜야 하며, 이때 최소한의 감소 횟수로 점수를 조정하는 것이 목표다.접근법이 문제는 그리디 알고리즘을 사용하여 해결할 수 있다. 가장 높은 레벨부터 점검하며, 현재 레벨 점수가 이전 레벨보다 낮거나 같을 경우 이전 레벨의 점수를 현재 레벨보다 1 낮게 만든다. 이 과정을 반복하면서 각 레벨의 점수를 점진적으로 감소시키며, 필요할 때마다 감소 횟수를 누적하여 최종 답을 도출한다.#inc..
-
2024-11-12 21:47:38
-
[99클럽/코딩테스트 챌린지/C++] 카드 문자열 문제에서 사전 순 최소 문자열을 구성하는 방법유니얼문제 링크 : https://www.acmicpc.net/problem/13417문제 설명태욱이는 일렬로 놓인 N장의 카드에서 차례대로 카드를 가져와서 왼쪽 또는 오른쪽에 배치해 가장 사전 순으로 빠른 문자열을 만들고자 한다. 각 테스트 케이스마다 초기 카드 순서가 주어지며, 목표는 이 카드들로 만들 수 있는 가장 작은 사전 순 문자열을 출력하는 것이다.접근법처음에는 그리디 알고리즘이 필요하다는 점을 명확히 인식하지 못했으나, 문제를 분석하면서 각 단계에서 최적의 선택을 해야 한다는 점을 깨달았다. 이를 통해 매 순간 왼쪽 또는 오른쪽에 카드를 배치하여 사전 순으로 가장 빠른 선택을 반복하는 것이 필요하다는 결론에 도달했다.비교: 현재 카드를 이미 배치한 문자열의 첫 번째 문자와 비교한다.배치: 사전 순..
-
2024-11-11 21:10:40
-
[99클럽/코딩테스트 챌린지/C++] 동전 거스름돈 문제에서 그리디 접근법 활유니얼문제 링크 : https://www.acmicpc.net/problem/14916문제 설명춘향이는 2원과 5원짜리 동전만으로 손님에게 최소 개수의 동전으로 거스름돈 NNN원을 주어야 한다. 2원과 5원짜리 동전이 무한정 있을 때, 정확히 NNN원을 거슬러 줄 수 있는 최소 동전 개수를 구하는 문제이다.접근법처음에는 이 문제에 그리디 알고리즘이 필요하다는 점을 인지하지 못했지만, 문제를 분석하면서 각 단계에서 최적의 선택을 해야 함을 깨달았다.그리디 알고리즘을 적용하기 위한 조건은 다음과 같다: 1, 큰 단위의 동전 우선 사용: 5원짜리 동전이 2원짜리보다 크기 때문에, 큰 단위인 5원짜리를 우선적으로 사용해 거슬러 줌으로써 동전 개수를 최소화할 수 있다. 2, 남은 금액에 맞는 조정: 5원으로 나누어떨어..
-
2024-11-10 20:04:42
-
[99클럽/코딩테스트 챌린지/C++] 최소 행동 횟수로 원하는 고양이 수 만들기유니얼문제 설명마법소녀 마도카는 고양이를 매우 좋아해 마법으로 고양이 N 마리를 키우고자 한다. 처음에는 고양이가 한 마리도 없으며, 아래 두 가지 마법을 사용하여 고양이를 늘릴 수 있다:생성 마법: 고양이 한 마리를 생성한다.복제 마법: 현재 집에 있는 고양이 수를 복제할 수 있다. 만약 현재 고양이가 k마리 있다면, 0마리 이상 k마리 이하를 추가로 만들 수 있다.목표는 이 두 마법을 사용해 최소 행동 횟수로 정확히 N 마리의 고양이를 만드는 것이다.접근법처음에는 그리디 알고리즘으로 접근해야 한다는 점을 깨닫지 못했지만, 문제를 분석하면서 각 단계에서 최적의 선택을 하는 것이 필요하다는 점을 알게 되었다.이 문제를 그리디 알고리즘으로 풀어야 하는 조건들은 다음과 같다: 1, 각 단계에서 최적의 선택: 고양..
-
2024-11-09 21:56:27
-
[99클럽/코딩테스트 챌린지/C++] 토마토 익히기 문제 해결을 통한 BFS 활용법 학습유니얼이 문제는 여러 겹의 상자 안에 보관된 토마토가 익는 과정을 모델링하는 문제다. 상자 안에는 익은 토마토, 익지 않은 토마토, 그리고 토마토가 들어있지 않은 칸이 있다. 하루가 지나면 익은 토마토는 인접한 여섯 방향(위, 아래, 왼쪽, 오른쪽, 앞, 뒤)에 있는 익지 않은 토마토를 익게 만든다. 이 문제는 모든 토마토가 익을 때까지 최소 며칠이 걸리는지, 혹은 익지 못하는 토마토가 남는지를 계산하는 프로그램을 작성하는 것이다. 문제 링크 : https://www.acmicpc.net/problem/7569 접근법익은 토마토가 동시에 여러 방향으로 퍼져 나가는 상황을 모델링하기 위해 BFS(너비 우선 탐색)를 사용한다. 모든 익은 토마토의 위치를 큐에 넣고 BFS를 수행하여 익은 토마토가 하루 단위로 주변..
-
2024-11-08 18:06:58
-
[99클럽/코딩테스트 챌린지/C++] "YES or yes" 문제 풀이유니얼주어진 단방향 그래프에서 출발 정점(1번)에서 시작하여 특정 정점에 팬클럽이 있는 경우를 피할 수 없는지 여부를 확인하는 문제입니다. 출발 정점에서 가능한 모든 경로를 탐색하며, 팬클럽을 만나지 않고 종착점에 도달할 수 있는 경우 "yes"를, 그렇지 않다면 "Yes"를 출력합니다.문제 링크 :https://www.acmicpc.net/problem/25195접근법1, 그래프 초기화: 주어진 정점 수와 간선을 기반으로 단방향 그래프를 구성합니다. 또한 팬클럽이 있는 위치를 표시하기 위해 has_fanclub 배열을 초기화하여 팬클럽이 있는 정점은 2로 표시합니다. 2, BFS 탐색: BFS를 사용하여 출발 정점(1번)에서 이동 가능한 모든 경로를 탐색합니다. 이때, 팬클럽이 있는 정점(2)으로 이동하는 ..
-
2024-11-07 23:06:38
스킨 업데이트 안내
현재 이용하고 계신 스킨의 버전보다 더 높은 최신 버전이 감지 되었습니다. 최신버전 스킨 파일을 다운로드
받을 수 있는 페이지로 이동하시겠습니까?
("아니오" 를 선택할 시 30일 동안 최신 버전이
감지되어도 모달 창이 표시되지 않습니다.)