백준43 괄호 제거 문제 설명 수식이 주어지는데, 괄호를 제거해서 나올 수 있는 경우를 모두 출력하는 문제이다. 수식은 올바른 형태로만 입력이 들어온다. 예를들어 (2+(22)+2)에서 괄호를 제거하면, (2+22+2), 2+(22)+2, 2+22+2를 만들 수 있다. 하지만, (2+22)+2와 2+(22+2)는 만들 수 없다. (부적적한 수식이기 때문) 아이디어 괄호 쌍을 하나의 묶음으로 보고 조합을 이용한다. 조합에서 나온 경우의수가 한 묶음이므로 묵음에 있는 괄호 좌표를 출력할 것인지 안할 것인지 판단하고 정답 문자열에 넣어준다. 풀이 static Set noPicks = new HashSet(); static List results; static String[] inputs; static TreeSet answers.. Algorithm/백준 2023. 3. 9. 백준 - 퇴사 문제 설명 나는 퇴사 전날 까지 많은 수익을 낼것이다. 하루 마다 벌어들일 수 있는 수익과 처리 기간이 주어진다. 이것들을 잘 분배하여 최대 수익을 낼 것이다. 생각한 아이디어 퇴사 n+1날은 일을 할 수 없으니 n일 까지만 일을 할 수 있다. dp[i] =: i 날 부터 시작해서 퇴사 전날까지 벌어들일 수 있는 수익으로 맨 뒤부터 데이터를 채워나갔다. 풀이 static class Node { private int day; private int profit; public Node(int day, int profit) { this.day = day; this.profit = profit; } } public static void main(String[] args) throws IOException { Bu.. Algorithm/백준 2023. 2. 12. 백준 - 치즈 문제 설명 공기면과 닿은 치즈는 녹는다. 치즈가 전부 사라지는 시간과 전부 사라지기전 치즈 개수를 구하라 생각한 아이디어 공기면과 맞닿는 치즈인 것을 어떻게 판별 할 수 있을까? 문제 첫줄에 힌트 있음 - > 가장자리는 무조건 적으로 치즈가 존재하지 않음을 의미 가장 자리 부터 탐색에 1이 맞닿는 곳이면 녹을 치즈인 것을 알 수 있다. 풀이 public static int[] solution() { int[] answer = new int[2]; int cheeseCnt = 0; for (int i = 0; i < n; i++) { for (int j = 0; j < m; j++) { if (map[i][j] == CHEESE) { cheeseCnt++; } } } int hour = 0; int lef.. Algorithm/백준 2023. 2. 12. Strahler 순서 문제 설명 Strahler 순서구하기 Strahler 규칙 강의 근원인 노드의 순서는 1이다. 나머지 노드는 그 노드로 들어오는 강의 순서 중 큰 값을 i라고 했을 때, i로 정한다 강의 순서가 i개 노드로부터 2개이상 진입되면 해당 노드는 i+1의 강의 순서로 업데이트 한다. 생각한 아이디어 없음 풀이 강의 근원만 있는 상태 (위상정렬이기 때문에) 순서는 1번에 하든 2번에서 하든 상관없습니다. 3번 노드는 1번과 2번 에서 부터 진입이 시작되므로 1번이 먼저 시작한다면 3번 노드의 근원은 1로 초기화 되고 다음으로 2번 노드가 3번노드로 들어오면 2번 강의 순서도 1번이기 때문에 기존에 기존의 1로 초기화된 3번 노드는 i+1의 조건을 충족하여 2로 업데이트가 된다. 이런형식으로 강의 최대 순서를 구.. Algorithm/백준 2022. 11. 15. 영우는 사기꾼? 문제 설명 영우의 건설정보를 보고 거짓말을 했는지 안했는지 판별하는 프로그램을 만들어야 한다. 생각한 아이디어 영우가 거짓말을 한 경우 해당 건물의 사전 조건을 만족하지 않는데 지어져 있다면 거짓말 건물을 파괴할 때 안지어져 있을 때 파괴하자 풀이 >> 예외 상황 중복된 건물이 건설될 경우, 이 경우 건물의 진입차수가 중복으로 내려가, 사전 조건을 만족하지 않음에도 불구하고 건물을 지울 수 있게 된다. 이런 관계를 갖는 그래프일 때, 1 → 2 → 3 4→ 2 영우의 입력에는 건설 1번 건설 1번 건설 2번 이렇게 입력이 들어올 경우, 진입차수[2] = 2에서 진입차수가 0이되어 2번을 건설하게 된다. 2번을 짓기 위해서는 1번과 4번이 건설이 되어야 하는데, 2번은 건설되지 않았는데 사전 조건을 만족한.. Algorithm/백준 2022. 11. 15. 이전 1 ··· 5 6 7 8 9 다음