목록2025/12/29 (4)
승코딩당당당
문제[C++] 백준 2816: 디지털 티비 BRONZE 1https://www.acmicpc.net/problem/2816 접근 방법이 문제는 TV 채널 목록이 주어졌을 때,리모컨 버튼 조작을 통해 KBS1을 0번 위치, KBS2를 1번 위치로 옮기는 문제이다. 또한 이 문제는 스페셜 저지(Special Judge) 문제이므로,정답이 하나로 고정되어 있지 않고 여러가지 답이 허용된다. 처음에 스페셜 저지 문제가 뭔지 몰라서 모든 조작 방법을 다 고려해 구현하다 보니 시간이 많이 소요됐다.... 그래서 가능한 버튼 중에서도 1번(아래로 이동) 과 4번(위 채널과 교환) 만 사용해서 풀 수 있도록 구현했다. 방법은 시뮬레이션 방식이다.화살표를 아래로 이동(버튼 1 출력)하면서 "KBS1"의 위치를 찾는다...
문제[C++] 백준 1157: 단어 공부 BRONZE 1https://www.acmicpc.net/problem/1157 접근 방법이 문제는 단어가 주어졌을 때 가장 많이 사용된 알파벳을 출력하는 문제이다.대소문자는 구분하지 않으므로 먼저 모든 문자를 대문자로 통일한다. 각 문자를 하나씩 확인하면서,해당 문자의 아스키 코드 값을 인덱스로 사용해 배열에 등장 횟수를 저장한다.문자 'A', 'B', 'C' … 는 내부적으로 각각 고유한 아스키 코드 값을 가지므로문자 자체를 int로 변환해 배열의 인덱스로 사용하면 알파벳별 등장 횟수를 쉽게 관리할 수 있다. 이후 배열을 순회하며 가장 큰 빈도를 가진 인덱스를 찾고,해당 빈도가 유일한지 여부를 확인한다.최댓값이 하나뿐이면 → 해당 인덱스를 다시 문자로 변환해..
문제[C++] 백준 1927: 최소 힙 SILVER 2https://www.acmicpc.net/problem/1927 접근 방법이 문제는 수를 입력받아 최소값을 빠르게 출력하고 제거해야 하는 문제이다. 일반적인 배열이나 벡터를 사용하면 매번 정렬이 필요해 비효율적이므로,우선순위 큐(priority_queue) 를 사용하는 것이 적절하다. C++의 priority_queue는 기본적으로 최대 힙(max heap) 구조이지만,비교 함수를 변경하면 최소 힙(min heap) 으로 사용할 수 있다.priority_queue heap; // 최대 힙priority_queue, greater> heap; // 최소 힙 int : 저장할 자료형vector : 내부 컨테이너greater : 작은 값이 우선되도록..
문제[C++] 백준 2292: 벌집 BRONZE 2https://www.acmicpc.net/problem/2292 접근 방법이 문제는 벌집 모양으로 숫자가 증가할 때,주어진 숫자 n이 몇 번째 껍질(층) 에 속하는지를 구하는 문제이다. 먼저 직접 숫자들의 범위를 나열해보면 다음과 같은 규칙을 확인할 수 있다.12 ~ 78 ~ 1920 ~ 3738 ~ 61 각 층이 커질수록 증가하는 칸의 개수는 6의 배수로 증가한다는 패턴이 있다.16 1218241층: 12층: 1 + 6×13층: 1 + 6×1 + 6×24층: 1 + 6×1 + 6×2 + 6×3 …즉, 이런 방식으로 이전 범위의 끝값에 6 × i를 더해가며 범위를 확장하면 된다. 코드에서는 각 층의 마지막 숫자를 벡터에 저장하고 n이 해당 범위 안에 ..