전체 글 573

[Java] 백준 풀기 11722 - 가장 긴 감소하는 부분 수열

자바 백준 11722번 실버 2 https://www.acmicpc.net/problem/11722 11722번: 가장 긴 감소하는 부분 수열 수열 A가 주어졌을 때, 가장 긴 감소하는 부분 수열을 구하는 프로그램을 작성하시오. 예를 들어, 수열 A = {10, 30, 10, 20, 20, 10} 인 경우에 가장 긴 감소하는 부분 수열은 A = {10, 30, 10, 20, 20, 10} www.acmicpc.net 문제 보기 분류: 다이나믹 프로그래밍 코드 보기 import java.util.Scanner; public class Main { public static void main(String[] args) { Scanner sc = new Scanner(System.in); // 입력값 받기 in..

공부하기/백준 2023.11.16

[Java] 백준 풀기 16922 - 로마 숫자 만들기

자바 백준 16922번 실버 https://www.acmicpc.net/problem/16922 16922번: 로마 숫자 만들기 2, 6, 10, 11, 15, 20, 51, 55, 60, 100을 만들 수 있다. www.acmicpc.net 문제 보기 분류: 수학, 구현, 브루트포스 알고리즘, 조합론, 백트레킹 코드 보기 import java.util.Scanner; import java.util.HashSet; public class Main { // 로마 숫자에 대응하는 문자와 값들을 배열로 저장 static char[] symbols = {'I', 'V', 'X', 'L'}; static int[] values = {1, 5, 10, 50}; // 중복을 허용하지 않는 HashSet을 사용하여 유..

공부하기/백준 2023.11.15

[Java] 백준 풀기 2303 - 숫자 게임

자바 백준 2303번 실버 5 https://www.acmicpc.net/problem/2303 2303번: 숫자 게임 N명이 모여 숫자 게임을 하고자 한다. 각 사람에게는 1부터 10사이의 수가 적혀진 다섯 장의 카드가 주어진다. 그 중 세 장의 카드를 골라 합을 구한 후 일의 자리 수가 가장 큰 사람이 게임을 이 www.acmicpc.net 문제 보기 분류: 구현, 브루트포스 알고리즘 코드 보기 import java.util.Scanner; import java.util.HashMap; public class Main { public static void main(String[] args) { Scanner sc = new Scanner(System.in); // 입력된 인원 수를 저장 int N =..

공부하기/백준 2023.11.14

[Java] 백준 풀기 11816 - 8진수, 10진수, 16진수

자바 백준 11816번 브론즈 https://www.acmicpc.net/problem/11816 11816번: 8진수, 10진수, 16진수 첫째 줄에 X가 주어진다. X는 10진수로 바꿨을 때, 1,000,000보다 작거나 같은 자연수이다. 16진수인 경우 알파벳은 소문자로만 이루어져 있다. www.acmicpc.net 문제 보기 분류: 수학, 구현, 문자열, 사칙연산, 파싱 코드 보기 import java.util.Scanner; public class Main { public static void main(String[] args) { Scanner sc = new Scanner(System.in); String input = sc.next(); int result; if (input.startsW..

공부하기/백준 2023.11.13

[Java] 백준 풀기 1969 - DNA

자바 백준 1969번 실버 4 https://www.acmicpc.net/problem/1969 1969번: DNA DNA란 어떤 유전물질을 구성하는 분자이다. 이 DNA는 서로 다른 4가지의 뉴클레오티드로 이루어져 있다(Adenine, Thymine, Guanine, Cytosine). 우리는 어떤 DNA의 물질을 표현할 때, 이 DNA를 이루는 뉴클레오 www.acmicpc.net 문제 보기 분류: 구현, 그리디 알고리즘, 문자열, 브루트포스 알고리즘 코드 보기 import java.util.Scanner; public class Main { public static void main(String[] args) { Scanner sc = new Scanner(System.in); // DNA의 수 N..

공부하기/백준 2023.11.10

[Spring] Advice Types inside AOP

Advice Types inside AOP 알아보자 Before advice: 메서드가 호출되기 전에 실행. ex) 메서드 호출 전에 인증을 수행하거나, 로그를 기록하는 등의 작업을 수행. @Before("execution(* *.*(..))") public void beforeAdvice() { // 인증을 수행한다. } AfterReturning advice: 메서드가 정상적으로 종료된 후 실행. ex) 메서드 호출 결과를 캐싱하거나, 성능 측정을 수행하는 등의 작업을 수행. @AfterReturning("execution(* *.*(..))") public void afterReturningAdvice(Object returnValue) { // 메서드 호출 결과를 캐싱한다. } AfterThrow..

알아가기/Spring 2023.11.08

[Java] 백준 풀기 11170 - 0의 개수

자바 백준 11170번 브론즈 1 https://www.acmicpc.net/problem/11170 11170번: 0의 개수 N부터 M까지의 수들을 종이에 적었을 때 종이에 적힌 0들을 세는 프로그램을 작성하라. 예를 들어, N, M이 각각 0, 10일 때 0을 세면 0에 하나, 10에 하나가 있으므로 답은 2이다. www.acmicpc.net 문제 보기 분류: 수학, 구현, 브루트포스 알고리즘 코드 보기 import java.util.Scanner; public class Main { public static void main(String[] args) { Scanner sc = new Scanner(System.in); int T = sc.nextInt(); // 테스트 케이스 수 입력 for (i..

공부하기/백준 2023.11.07

[Java] 백준 풀기 3058 - 짝수를 찾아라

자바 백준 3058번 브론즈 3 https://www.acmicpc.net/problem/3058 3058번: 짝수를 찾아라 입력은 T개의 테스트 데이터로 구성된다. 입력의 첫 번째 줄에는 입력 데이터의 수를 나타내는 정수 T가 주어진다. 각 테스트 데이터는 한 줄로 구성되어 있고, 7개의 자연수가 공백으로 구분되 www.acmicpc.net 문제 보기 분류: 수학, 구현, 사칙연산 코드 보기 import java.util.Scanner; public class Main { public static void main(String[] args) { Scanner sc = new Scanner(System.in); int testCase = sc.nextInt(); // 테스트 케이스의 개수를 입력 for ..

공부하기/백준 2023.11.06

[Spring] Eager Instantiation Vs Lazy Instantiation

Eager Instantiation 즉시 생성: 인스턴스는 필요한 시점이 아니라 미리 객체 생성 시 초기화 미리 계산: 필요하지 않은 정보까지 미리 계산하고 저장 높은 메모리 사용량: 모든 인스턴스가 미리 생성되므로 메모리 사용량이 높음 높은 초기화 비용: 모든 객체가 초기화되므로 초기화 비용이 높을 수 있음 예측 가능한 성능: 인스턴스가 필요한 시점에 사용 가능하므로 성능 예측이 용이 복잡한 객체 그래프: 복잡한 객체 그래프를 구축하는 경우 메모리와 성능 문제가 발생할 수 있음 주로 단순한 응용 프로그램에 적합 Lazy Instantiation 필요할 때 생성: 인스턴스는 실제로 필요한 시점에 생성 지연 계산: 필요한 정보만 생성하고 저장하므로 불필요한 계산을 피할 수 있음 낮은 메모리 사용량: 필요한..

알아가기/Spring 2023.11.05

[Java] 백준 풀기 1652 - 누울 자리를 찾아라

자바 백준 1652번 실버 5 https://www.acmicpc.net/problem/1652 1652번: 누울 자리를 찾아라 첫째 줄에 방의 크기 N이 주어진다. N은 1이상 100이하의 정수이다. 그 다음 N줄에 걸쳐 N개의 문자가 들어오는데 '.'은 아무것도 없는 곳을 의미하고, 'X'는 짐이 있는 곳을 의미한다. www.acmicpc.net 문제 보기 분류: 구현, 문자열 코드 보기 import java.util.Scanner; public class Main { public static void main(String[] args) { Scanner sc = new Scanner(System.in); // 방의 크기 N을 입력받음 int N = sc.nextInt(); // N x N 크기의 방..

공부하기/백준 2023.11.02