본문 바로가기

자바173

[Java] BOJ 14503번 로봇 청소기 14503번: 로봇 청소기 로봇 청소기가 주어졌을 때, 청소하는 영역의 개수를 구하는 프로그램을 작성하시오. 로봇 청소기가 있는 장소는 N×M 크기의 직사각형으로 나타낼 수 있으며, 1×1크기의 정사각형 칸으로 나누어 www.acmicpc.net 풀이 문제에서 주어진 조건대로 재귀함수를 작성하여 해결했습니다. 코드 import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java.util.StringTokenizer; public class Main { public static int answer; public static int N, M; public static int r, c, .. 2021. 5. 10.
[Java] SWEA 5644번 무선충전 SW Expert Academy SW 프로그래밍 역량 강화에 도움이 되는 다양한 학습 컨텐츠를 확인하세요! swexpertacademy.com 코드 import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java.util.PriorityQueue; import java.util.StringTokenizer; public class Solution { public static class BC implements Comparable { int x, y; int c; int p; public BC(int x, int y, int c, int p) { super(); this.x = x; .. 2021. 5. 8.
[Java] BOJ 11722번 가장 긴 감소하는 부분 수열 11722번: 가장 긴 감소하는 부분 수열 수열 A가 주어졌을 때, 가장 긴 감소하는 부분 수열을 구하는 프로그램을 작성하시오. 예를 들어, 수열 A = {10, 30, 10, 20, 20, 10} 인 경우에 가장 긴 감소하는 부분 수열은 A = {10, 30, 10, 20, 20, 10} www.acmicpc.net 풀이 LIS(최장 증가 수열)을 응용하여 해결했습니다. LIS(최장 증가 수열)과는 반대로 현재 숫자(i)보다 앞의 숫자들이(j) 작을 경우 해당 숫자가 있는 memo[j] + 1이 현재 숫자가 있는 memo[i] 보다 크다면 값을 경신하게 했습니다. 코드 import java.io.BufferedReader; import java.io.IOException; import java.io.I.. 2021. 5. 7.
[Java] BOJ 11055번 가장 큰 증가 부분 수열 11055번: 가장 큰 증가 부분 수열 수열 A가 주어졌을 때, 그 수열의 증가 부분 수열 중에서 합이 가장 큰 것을 구하는 프로그램을 작성하시오. 예를 들어, 수열 A = {1, 100, 2, 50, 60, 3, 5, 6, 7, 8} 인 경우에 합이 가장 큰 증가 부분 수 www.acmicpc.net 풀이 LIS(최장 증가 수열)을 응용하여 해결했습니다. LIS(최장 증가 수열)처럼 증가하는 긴 수열을 구하는 것은 동일하지만 이때, 합이 가장 큰 수열을 구해야 한다는 점을 주의해야 합니다. 코드 import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java.util.StringT.. 2021. 5. 6.
[Java] BOJ 11054번 가장 긴 바이토닉 부분 수열 11054번: 가장 긴 바이토닉 부분 수열 첫째 줄에 수열 A의 크기 N이 주어지고, 둘째 줄에는 수열 A를 이루고 있는 Ai가 주어진다. (1 ≤ N ≤ 1,000, 1 ≤ Ai ≤ 1,000) www.acmicpc.net 풀이 가장 긴 바이토닉 부분 수열은 앞에서부터 가장 긴 증가하는 부분 수열의 개수 + 뒤에서부터 가장 긴 증가하는 부분 수열의 개수에다가 자기 자신은 두 번 들어갔으므로 1을 빼어 해결할 수 있었습니다. 예를 들어, 수열 1 5 2 1 4 3 4 5 2 1의 경우를 보면, 빨간색으로 쓴 1번은 앞에서부터 증가하는 부분 수열의 개수이고, 파란색으로 쓴 2번의 경우 뒤에서 부터 가장 긴 증가하는 부분 수열이 됩니다. 그리고 LBS는 초록색처럼 1번과 2번을 더해주되 i번째의 숫자가 두 .. 2021. 5. 5.
[Java] SWEA 4530번 극한의 청소 작업 SW Expert Academy SW 프로그래밍 역량 강화에 도움이 되는 다양한 학습 컨텐츠를 확인하세요! swexpertacademy.com 풀이 4는 없는 숫자이므로 10진수에서 4가 빠진 9진수로 바꾸어 해결했습니다. 코드에 설명을 써놓았습니다. 코드 import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java.util.StringTokenizer; public class Solution { public static long answer; public static String A, B; public static void main(String[] args) throws IOE.. 2021. 5. 4.