전체 글
-
[백준] 2309번 : 일곱난쟁이 - 자바(JAVA)알고리즘/백준 2022. 5. 4. 00:01
https://www.acmicpc.net/problem/2309 2309번: 일곱 난쟁이 아홉 개의 줄에 걸쳐 난쟁이들의 키가 주어진다. 주어지는 키는 100을 넘지 않는 자연수이며, 아홉 난쟁이의 키는 모두 다르며, 가능한 정답이 여러 가지인 경우에는 아무거나 출력한다. www.acmicpc.net 문제 해석 조합 문제로 9C7 == 100을 찾는 문제 정답이 여러 개 존재할 수 있어서 한 개만 출력해야 하는 것과 정렬해주는 것만 주의하면 됩니다. 코드 import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java.util.Arrays; public class Main_2309..
-
[백준] 10974번 : 모든순열 - 자바(JAVA)알고리즘/백준 2022. 5. 4. 00:01
https://www.acmicpc.net/problem/10974 10974번: 모든 순열 N이 주어졌을 때, 1부터 N까지의 수로 이루어진 순열을 사전순으로 출력하는 프로그램을 작성하시오. www.acmicpc.net 문제 해석 단순하게 순열을 만드는 문제입니다. 코드 import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; public class Main_10974_모든순열 { static int[] answers; static boolean[] visited; static int N; public static void main(String[] args) throws NumberFormatE..
-
[백준] 1194번 : 달이 차오른다, 가자. - 자바(Java)알고리즘/백준 2022. 5. 3. 00:01
https://www.acmicpc.net/problem/1194 1194번: 달이 차오른다, 가자. 첫째 줄에 미로의 세로 크기 N과 가로 크기 M이 주어진다. (1 ≤ N, M ≤ 50) 둘째 줄부터 N개의 줄에 미로의 모양이 주어진다. 같은 타입의 열쇠가 여러 개 있을 수 있고, 문도 마찬가지이다. 그리고, www.acmicpc.net 문제 해석 직사각형의 미로는 다음과 같이 구성되어 있다. 빈칸: 언제나 이동할 수 있다. ('.') 벽: 절대 이동할 수 없다. ('#') 열쇠: 언제나 이동할 수 있다. 이곳에 처음 들어가면 열쇠를 집는다. ('a', 'b', 'c', 'd', 'e', 'f') 문: 대응하는 열쇠가 있을 때만 이동할 수 있다. ('A', 'B', 'C', 'D', 'E', 'F')..
-
[백준] 2096번 : 내려가기 - 자바(JAVA)알고리즘/백준 2022. 5. 2. 00:01
https://www.acmicpc.net/problem/2096 2096번: 내려가기 첫째 줄에 N(1 ≤ N ≤ 100,000)이 주어진다. 다음 N개의 줄에는 숫자가 세 개씩 주어진다. 숫자는 0, 1, 2, 3, 4, 5, 6, 7, 8, 9 중의 하나가 된다. www.acmicpc.net 문제 해석 N 줄에 0 이상 9 이하의 숫자가 세 개씩 적혀 있다. 이 게임은 첫 줄에서 시작해서 마지막 줄에서 끝나게 된다. 먼저 처음 세 개의 숫자 중에서 하나를 골라서 시작한다. 다음 줄로 내려갈 떄는 바로 아래의 수로 넘어가거나, 바로 아래의 수와 붙어있는 수로만 이동할 수 있다. 숫자 표가 주어져 있을 때 얻을 수 있는 최대 점수, 최소 점수를 구하는 프로그램을 작성해라. 점수는 이동한 곳의 수의 합이..
-
1218. [S/W 문제해결 기본] 4일차 - 괄호 짝짓기알고리즘/SW Expert Academy 2022. 5. 1. 00:01
https://swexpertacademy.com/main/code/problem/problemDetail.do?contestProbId=AV14eWb6AAkCFAYD SW Expert Academy SW 프로그래밍 역량 강화에 도움이 되는 다양한 학습 컨텐츠를 확인하세요! swexpertacademy.com 문제 해석 4 종류의 괄호문자들 '()', '[]', '{}', '' 로 이루어진 문자열이 주어진다. 이 문자열에 사용된 괄호들의 짝이 모두 맞는지 판별하는 프로그램을 작성한다. 예를 들어 아래와 같은 문자열은 유효하다고 판단할 수 있다. 아래와 같은 문자열은 유효하지 않은 문자열이다. 붉은색으로 표시된 괄호의 짝을 찾을 수 없기 때문이다. 아래 문자열은 열고 닫는 괄호의 개수는 유효하나 짝이 맞지..
-
@Builder 제대로 알고 사용해보기프로젝트/게시판 프로젝트 2022. 4. 30. 02:27
Lombok의 @Builder를 사용하게 되면 빌더 패턴을 매우 간단하게 적용할 수 있습니다. 빌더 패턴이란? 빌더 패턴이란 인스턴스(객체)를 생성할 때 생성자만을 통해서 생성하는데 어려움이 있기 때문에 고안된 생성 패턴입니다. 예를 들어 클래스에 생성자 인자가 많으면 각 인자들이 어떠한 값을 나타내는지 알기 어렵기 때문입니다. 빌더 패턴에 대해서 잘 모르신다면 다음 글을 보고 오시면 좋을 것 같습니다. https://junuuu.tistory.com/247?category=968252 [Java] 빌더 패턴 빌더 패턴이란? 빌더 패턴은 인스턴스를 생성할 때 생성자(Constructor)만을 통해서 생성하는데 어려움이 있어서 고안된 패턴입니다. 클래스에 생성자 인자가 많다면 어떠한 인자가 어떠한 값을 나..
-
[백준] 2515번 : 전시장 - 자바(Java)알고리즘/백준 2022. 4. 30. 00:01
https://www.acmicpc.net/problem/2515 2515번: 전시장 첫째 줄에는 그림의 개수 N (1 ≤ N ≤ 300,000)과 판매가능 그림을 정의하는 1이상의 정수 S가 빈칸을 사이에 두고 주어진다. 다음 이어지는 N개의 줄 각각에는 한 그림의 높이와 가격을 나타내는 정 www.acmicpc.net 문제 해석 그림에는 가격이 매겨져 있으며 폭은 모두 동일하지만 높이는 다를 수 있습니다. 왼쪽 그림은 C, B, A, D의 순서로 겹쳐서 배치한 상황을 보여줍니다. 오른쪽 그림은 전시된 그림들의 배치를 옆에서 본 모양입니다. 관람객은 보이는 부분의 세로 길이가 특정 정수 S이상인 그림만 구매합니다. 그림의 높이와 가격이 주어질 때 판매 가능 그림들의 가격의 합이 최대가 되도록 그림을 배..
-
[백준] 1520번 : 내리막 길 - 자바(JAVA알고리즘/백준 2022. 4. 29. 00:01
https://www.acmicpc.net/problem/1520 1520번: 내리막 길 여행을 떠난 세준이는 지도를 하나 구하였다. 이 지도는 아래 그림과 같이 직사각형 모양이며 여러 칸으로 나뉘어져 있다. 한 칸은 한 지점을 나타내는데 각 칸에는 그 지점의 높이가 쓰여 있으 www.acmicpc.net 문제 이해 지도 사이의 이동은 상하좌우 이웃한 곳끼리만 가능하다. 세준이의 출발점은 가장 왼쪽 위칸이며 목적지는 가장 오른쪽 아래입니다. 가능함 힘을 적게 들이고 싶어 항상 높이가 더 낮은 지점으로만 이동하여 목표지점으로 가고자 한다. 문제 풀이 전 설계 가장 간단하게 드는 생각은 DFS/BFS로 경로를 세주는 것입니다. N과 M의 크기는 500입니다. 항상 자신보다 적은길로 가야 하기 때문에 가지치기..