코딩테스트/백준

    [백준]11724번 연결 요소의 개수 - Java

    [백준]11724번 연결 요소의 개수 - Java

    문제 https://www.acmicpc.net/problem/11724 11724번: 연결 요소의 개수 첫째 줄에 정점의 개수 N과 간선의 개수 M이 주어진다. (1 ≤ N ≤ 1,000, 0 ≤ M ≤ N×(N-1)/2) 둘째 줄부터 M개의 줄에 간선의 양 끝점 u와 v가 주어진다. (1 ≤ u, v ≤ N, u ≠ v) 같은 간선은 한 번만 주 www.acmicpc.net 풀이 쉬운 그래프 탐색 문제 ! 인접 리스트 배열로 풀든, 인접 행렬로 풀든 상관은 없을 것 같음! 방문하지 않은 노드가 있으면 dfs를 시작하고 그 안에서 연결이 되어있고 방문하지 않은 애들이면 탐색을 시작함 자세한건 주석으로! 코드 // 11724번 연결 요소의 개수 // https://www.acmicpc.net/proble..

    [백준]5567번 결혼식 - Java

    [백준]5567번 결혼식 - Java

    문제 https://www.acmicpc.net/problem/5567 5567번: 결혼식 예제 1의 경우 2와 3은 상근이의 친구이다. 또, 3과 4는 친구이기 때문에, 4는 상근이의 친구의 친구이다. 5와 6은 친구도 아니고, 친구의 친구도 아니다. 따라서 2, 3, 4 3명의 친구를 결혼식에 초대 www.acmicpc.net 풀이 쉬운 문제인듯? 걍 문제대로 풀면 됨 나는 그냥 문제대로 풀었지만, dfs로 depth == 2 면 탈출하게 해서 풀어도 될 듯??? 자세한건 주석으로! 코드 // 5567번 결혼식 // https://www.acmicpc.net/problem/5567 package BAEKJOON; import java.io.BufferedReader; import java.io.IOE..

    [백준]11000번 강의실 배정 - Java

    [백준]11000번 강의실 배정 - Java

    문제 https://www.acmicpc.net/problem/11000 11000번: 강의실 배정 첫 번째 줄에 N이 주어진다. (1 ≤ N ≤ 200,000) 이후 N개의 줄에 Si, Ti가 주어진다. (0 ≤ Si { // (o1, o2): 오름차순으로 정렬한다 if (o1[0] == o2[0]) { return Integer.compare(o1[1], o..

    [백준]1932번 정수 삼각형 - Java

    [백준]1932번 정수 삼각형 - Java

    문제 https://www.acmicpc.net/problem/1932 1932번: 정수 삼각형 첫째 줄에 삼각형의 크기 n(1 ≤ n ≤ 500)이 주어지고, 둘째 줄부터 n+1번째 줄까지 정수 삼각형이 주어진다. www.acmicpc.net 풀이 전에 비슷한 문제를 풀어봤던 것 같다! 암튼 그래서 쉽게 풀었음 ㅎㅎ 동적계획법 문제가 나오면 평소처럼 생각하지 말고 거꾸로 생각하거나 밑에서부터 계산해보거나 처음 결과를 가지고 다음 계산에 이용한다거나 등의 접근 방식이 필요하다 이 문제에서는 위에서 아래 층으로 내려온다고 나와있지만 밑에서 부터 올라가는 식으로 계산을 하면 어떨까... 하는 생각으로 풀었다! 자세한건 주석으로! 코드 // 1932번 정수 삼각형 // https://www.acmicpc.ne..

    [백준]1261번 알고스팟 - Java

    [백준]1261번 알고스팟 - Java

    문제 https://www.acmicpc.net/problem/1261 1261번: 알고스팟 첫째 줄에 미로의 크기를 나타내는 가로 크기 M, 세로 크기 N (1 ≤ N, M ≤ 100)이 주어진다. 다음 N개의 줄에는 미로의 상태를 나타내는 숫자 0과 1이 주어진다. 0은 빈 방을 의미하고, 1은 벽을 의미 www.acmicpc.net 풀이 최소한으로 부술 수 있는 벽의 개수를 구해야 하는 문제이다. 문제를 읽자마자 최소 비용(벽의 개수) 문제라는 것을 알아서 다익스트라 알고리즘이 떠올랐다. 전에 풀었던 https://seokmimmmmmmmm.tistory.com/84 [백준]4485번 녹색 옷 입은 애가 젤다지? - Java 문제 https://www.acmicpc.net/problem/4485 4..

    [백준]1347번 미로 만들기 - Java

    [백준]1347번 미로 만들기 - Java

    문제 https://www.acmicpc.net/problem/14888 14888번: 연산자 끼워넣기 첫째 줄에 수의 개수 N(2 ≤ N ≤ 11)가 주어진다. 둘째 줄에는 A1, A2, ..., AN이 주어진다. (1 ≤ Ai ≤ 100) 셋째 줄에는 합이 N-1인 4개의 정수가 주어지는데, 차례대로 덧셈(+)의 개수, 뺄셈(-)의 개수, www.acmicpc.net 풀이 처음에 연산자 뿐만 아니라 숫자들도 다 자리를 바꿀 수 있는 줄 알고 대략적으로 시간 복잡도를 계산하고 있었는데 너무 어마무시하게 나와서 헤맸다,,, 근데 다시 읽어보니까 숫자는 고정이고 연산자만 위치를 바꾸면 되는 문제였다... ㅎㅎㅎ 나새끼 문제 좀 잘 읽자 완전 탐색으로 다 돌려보면서 탈출 조건(index == N)이 되면 최..

    [백준]1347번 미로 만들기 - Java

    [백준]1347번 미로 만들기 - Java

    문제 https://www.acmicpc.net/problem/1347 1347번: 미로 만들기 홍준이는 미로 안의 한 칸에 남쪽을 보며 서있다. 미로는 직사각형 격자모양이고, 각 칸은 이동할 수 있거나, 벽을 포함하고 있다. 모든 행과 열에는 적어도 하나의 이동할 수 있는 칸이 있다. 홍 www.acmicpc.net 풀이 지금까지 풀었던 문제들은 미로라면 미로, 지도라면 지도가 주어지고 그 미로나 지도 위에서 찾고자하는 무언가를 찾는 방식이였는데 이 문제는 이동한 칸이 먼저 나오고 미로의 모양을 출력해야 되는 문제라 신박했다. 포인트는 제한사항에서 홍준이가 적은 내용의 길이가 0보다 크고 50보다 작다고 적혀있어서 미리 미로의 최대 크기를 정해놓고 접근해야 함 지도의 시작점과 끝점을 이동할 때마다 최신..

    [백준]9375번 패션왕 신해빈 - Java

    [백준]9375번 패션왕 신해빈 - Java

    문제 https://www.acmicpc.net/problem/9375 9375번: 패션왕 신해빈 첫 번째 테스트 케이스는 headgear에 해당하는 의상이 hat, turban이며 eyewear에 해당하는 의상이 sunglasses이므로 (hat), (turban), (sunglasses), (hat,sunglasses), (turban,sunglasses)로 총 5가지 이다. www.acmicpc.net 풀이 프로그래머스에서도 비슷한 문제를 풀었던 것 같다! 포인트는 맵을 이용해서 같은 종류의 옷이면 갯수를 증가시켜주어야 한다는 것 (HashMap.put(key, HashMap.getOrDefault(key, 0) + 1) 얘를 잘 알아놓자!) 마지막에 옷의 종류가 한가지일 경우와 한가지 이상일 경우..