코딩 테스트
[백준]1149번 RGB거리 - Java
문제 https://www.acmicpc.net/problem/1149 1149번: RGB거리 첫째 줄에 집의 수 N(2 ≤ N ≤ 1,000)이 주어진다. 둘째 줄부터 N개의 줄에는 각 집을 빨강, 초록, 파랑으로 칠하는 비용이 1번 집부터 한 줄에 하나씩 주어진다. 집을 칠하는 비용은 1,000보다 작거나 www.acmicpc.net 풀이 얘도 DP 문제임 모든 최적해를 구해야하는데 새로운 2차원 배열에 저장을 하면서 구한다고 생각하면 편함 이런 유형의 문제를 많이 풀어놔서 익숙하게 만들어 놔야 겠음 ㅎㅎ 코드 // 1149번 RGB거리 // https://www.acmicpc.net/problem/1149 package BAEKJOON; import java.io.*; import java.util..
[백준]1463번 1로 만들기 - Java
문제 https://www.acmicpc.net/problem/1463 1463번: 1로 만들기 첫째 줄에 1보다 크거나 같고, 106보다 작거나 같은 정수 N이 주어진다. www.acmicpc.net 풀이 흔한 DP 유형의 문제임 하향식, 상향식 두 가지 방식으로 풀었음! 처음 생각하는 방식이 좀 어렵고 떠올리기만 하면 쉽게 풀 수 있는 듯??? 코드 // 1463번 1로 만들기 [DP(동적계획법) - 1로 만들기 문제] // https://www.acmicpc.net/problem/1463 package BAEKJOON; import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; public c..
[프로그래머스]정수 삼각형 - Java
문제 https://programmers.co.kr/learn/courses/30/lessons/43105?language=java 풀이 DP 문제임. DP 문제는 보면 뭔가 DP 문제 같은데 어케 푸는지 모르는 경우가 허다한 것 같음 ㅠ 근데 오랜만에 맞춰서 좀 좋았음 ㅎㅎㅎㅎㅎ 삼각형의 위에서 부터 내려오면서 더해주는게 아니라 새로운 2차원 배열을 만들어서 거꾸로, 그니까 밑에서 부터 올라가면서 비교하면서 새로운 배열에 최대값을 저장해주는 식으로 풀었음! 어떻게 푸는지 떠올리기만 하면 쉽게 풀리는게 DP의 매력아닌 매력인 것 같음! 코드 // 코딩테스트 연습 - 동적계획법 - 정수 삼각형 // https://programmers.co.kr/learn/courses/30/lessons/43105?lan..
[백준]2638번 치즈 - Java
문제 https://www.acmicpc.net/problem/2638 2638번: 치즈 첫째 줄에는 모눈종이의 크기를 나타내는 두 개의 정수 N, M (5 ≤ N, M ≤ 100)이 주어진다. 그 다음 N개의 줄에는 모눈종이 위의 격자에 치즈가 있는 부분은 1로 표시되고, 치즈가 없는 부분은 0으로 www.acmicpc.net 풀이 https://seokmimmmmmmmm.tistory.com/78 [백준]2636번 치즈 - Java 문제 https://www.acmicpc.net/problem/2636 2636번: 치즈 첫째 줄에는 사각형 모양 판의 세로와 가로의 길이가 양의 정수로 주어진다. 세로와 가로의 길이는 최대 100이다. 판의 각 가로줄의 모양이 윗 줄부 seokmimmmmmmmm.tist..
[백준]9372번 상근이의 여행 - Java
문제 https://www.acmicpc.net/problem/9372 9372번: 상근이의 여행 첫 번째 줄에는 테스트 케이스의 수 T(T ≤ 100)가 주어지고, 각 테스트 케이스마다 다음과 같은 정보가 주어진다. 첫 번째 줄에는 국가의 수 N(2 ≤ N ≤ 1 000)과 비행기의 종류 M(1 ≤ M ≤ 10 000) 가 www.acmicpc.net 풀이 좀 어이가 없는 문제인 것 같다 비행기를 몇번 타는지를 출력하는게 아니라 비행기의 종류의 최소 개수를 출력해야됨! 근데 그래프는 연결 그래프이고 최소 개수를 구하는 거니까 그냥 (정점 - 1)개가 정답이다 코드 // 9372번 상근이의 여행 // https://www.acmicpc.net/problem/9372 package BAEKJOON; imp..
[백준]2636번 치즈 - Java
문제 https://www.acmicpc.net/problem/2636 2636번: 치즈 첫째 줄에는 사각형 모양 판의 세로와 가로의 길이가 양의 정수로 주어진다. 세로와 가로의 길이는 최대 100이다. 판의 각 가로줄의 모양이 윗 줄부터 차례로 둘째 줄부터 마지막 줄까지 주어진 www.acmicpc.net 풀이 이 문제도 DFS로 풀었음! 다 풀고 나서 다른 풀이도 봤는데 BFS 풀이가 더 많이 보였던 것 같음 ㅎㅎ 암튼 그건 그렇고 외부 공기에 접촉한 치즈와 그렇지 않은 치즈를 판단하는게 포인트! 판의 가장자리는 치즈가 놓여있지 않으므로 거기서부터 DFS를 돌리면 외부공기를 판별할 수 있다! 그렇게 해서 1시간마다 외부 공기를 판별하고, 치즈 녹이고, 방문 체크 배열을 초기화하고 이 과정을 반복했음!..
[백준]2667번 단지번호붙이기 - Java
문제 https://www.acmicpc.net/problem/2667 2667번: 단지번호붙이기 과 같이 정사각형 모양의 지도가 있다. 1은 집이 있는 곳을, 0은 집이 없는 곳을 나타낸다. 철수는 이 지도를 가지고 연결된 집의 모임인 단지를 정의하고, 단지에 번호를 붙이려 한다. 여 www.acmicpc.net 풀이 요즘 DFS 문제를 많이 풀려고 함! 이 문제도 최근에 풀던 문제랑 비슷하다고 볼 수 있겠음 내 생각에 포인트는 DFS로 단지가 몇개인지 판단한 후 단지에 번호를 어떻게 붙이고 어떻게 해당 단지에 속하는 아파트의 개수를 세느냐! 인 것 같음 나는 해당 단지에 속하는 아파트의 개수를 세는 함수를 따로 만들었고 그 함수 안에서 새로 배열을 만들고 그 배열의 인덱스를 증가시켜 정렬한 후 반환해..
[백준]1388번 바닥 장식 - Java
문제 https://www.acmicpc.net/problem/1388 1388번: 바닥 장식 형택이는 건축가이다. 지금 막 형택이는 형택이의 남자 친구 기훈이의 집을 막 완성시켰다. 형택이는 기훈이 방의 바닥 장식을 디자인했고, 이제 몇 개의 나무 판자가 필요한지 궁금해졌다. 나 www.acmicpc.net 풀이 dfs로 풀었음! 개인적으로 이 문제의 포인트는 한 방향(행 방향이든, 열 방향이든)으로만 탐색하면 되기 때문에 static으로 방향 벡터를 선언해줄 필요가 없음! 재귀를 하러 들어가기 전에 현재의 칸이랑 재귀를 들어갈 칸이랑 미리 비교를 해서 들어갈지 말지 판단을 할 것! 이렇게 두 가지임!!! 어렵지 않게 풀었음! 더 자세한건 주석으로 ㄱㄱ 코드 // 1388번 바닥 장식 // https:..