목록2026/01/14 (3)
승코딩당당당
문제[C++] 백준 4796: 캠핑 BRONZE 1https://www.acmicpc.net/problem/4796 접근 방법이 문제는 캠핑장을 사용할 수 있는 규칙이 주어졌을 때, 최대 며칠 동안 캠핑장을 이용할 수 있는지를 계산하는 문제이다.연속 P일 중에서 최대 L일만 캠핑장을 사용할 수 있고총 휴가 기간은 V일이다.먼저 V일을 P일 단위로 나누면, 완전한 주기(V / P)마다 L일씩 캠핑장을 사용할 수 있다.남는 기간(V % P)에 대해서는 L일을 넘길 수 없으므로 min(L, V % P) 만큼만 추가로 사용할 수 있다.따라서 전체 사용 가능한 일수는 다음과 같이 계산된다.L × (V / P) + min(L, V % P) 구현 시 주의할 점남은 날짜에서 사용할 수 있는 최대 일수를 계산할 때 m..
문제[C++] 백준 1931: 회의실 배정 GOLD 5https://www.acmicpc.net/problem/1931 접근 방법이 문제는 하나의 회의실에서 최대한 많은 회의를 진행하기 위해 겹치지 않게 회의를 선택하는 개수의 최댓값을 구하는 문제이다. 핵심 아이디어는 그리디 알고리즘이다.가장 빨리 끝나는 회의를 먼저 선택하면, 이후에 더 많은 회의를 배치할 수 있다. 그래서 각 회의를 (종료 시간, 시작 시간) 형태로 저장한 뒤,종료 시간을 기준으로 오름차순 정렬한다.종료 시간이 같을 경우 시작 시간이 빠른 회의가 먼저 오도록 자동으로 정렬된다.정렬된 회의 목록에서첫 번째 회의를 선택하고이후 회의들 중 시작 시간이 현재 선택된 회의의 종료 시간 이상인 경우만 선택한다.이 과정을 끝까지 반복하면 선택한..
문제[C++] 백준 2468: 안전 영역 SILVER 1https://www.acmicpc.net/problem/2468 접근 방법비의 높이(rain)가 주어졌을 때, 잠기지 않은 영역(안전 영역)의 개수를 세고, 그 개수의 최댓값을 구하는 문제다.핵심은 비의 높이가 바뀔 때마다 지도에서높이 > rain 인 칸들만 “살아있는 땅”으로 보고상하좌우로 연결된 덩어리(연결 요소)의 개수를 DFS/BFS로 세는 것이다.그래서 rain을 0부터 (지도 최대 높이 - 1)까지 변화시키며 매번 탐색하고,각 rain에 대한 안전 영역 개수 중 최댓값을 ret에 저장한다. 구현 시 주의할 점visited 초기화는 매 rain마다 반드시 해줘야 한다. (이전 rain 탐색 흔적이 남으면 오답)탐색 조건은 vect[yy]..