전체 글

· 🫠[백준]
https://www.acmicpc.net/problem/17124정수 배열 A와 B가 있고, A는 총 n개의 서로 다른 양의 정수를 포함하고 B는 총 m개의 서로 다른 양의 정수를 포함한다. A와 B를 이용해 길이가 n인 새로운 배열 C를 만드는 문제다.C[i] = 배열 B에 있는 값 중 A[i]에 가장 가까운 값(절대값 차이가 가장 작은 값)이 조건을 만족하는 값들이 여럿 있는 경우, 그 중 가장 크기가 작은 값 문제 탐색하기- 문제에서 구해야 하는 최종 정답은 무엇인지 탐색한 과정- 그 정답을 구하기 위해 어떻게 코드를 구현해야 할지 고민한 과정- 문제에 들어오는 범위를 파악하며 어떤 알고리즘을 쓸 수 있을지 고민해 가는 과정ex. 가능한 시간 복잡도, 알고리즘 선택입출력 제한1 ≤ T ≤ 101 ..
· 🫠[백준]
https://www.acmicpc.net/problem/2251각각 부피가 A, B, C 리터인 세 개의 물통이 있다.A와 B 물통은 비어 있고, C 물통은 가득 차 있다. 물통에서 물을 옮기는 경우는 두 가지가 존재한다.한 물통이 빌 때까지다른 한 물통이 가득 찰 때까지물을 옮기는 과정에서 A 물통이 비어 있을 때, C 물통의 물의 양을 모두 구하는 문제다. 문제 탐색하기- 문제에서 구해야 하는 최종 정답은 무엇인지 탐색한 과정- 그 정답을 구하기 위해 어떻게 코드를 구현해야 할지 고민한 과정- 문제에 들어오는 범위를 파악하며 어떤 알고리즘을 쓸 수 있을지 고민해 가는 과정ex. 가능한 시간 복잡도, 알고리즘 선택입출력 제한1 ≤ A, B, C ≤ 200 bfs 함수를 사용한다. 이때 queue에 A..
· 🫠[백준]
https://www.acmicpc.net/problem/2667정사각형 그리드가 주어지고, 그리드 안에서 1은 집이 있는 곳을, 0은 집이 없는 곳을 나타낸다. 상하좌우로 연결된 집을 단지라고 정의할 때, 지도를 입력하면 단지 수와 각 단지에 속하는 집의 수를 오름차순으로 정렬해 출력하는 문제다. 문제 탐색하기- 문제에서 구해야 하는 최종 정답은 무엇인지 탐색한 과정- 그 정답을 구하기 위해 어떻게 코드를 구현해야 할지 고민한 과정- 문제에 들어오는 범위를 파악하며 어떤 알고리즘을 쓸 수 있을지 고민해 가는 과정ex. 가능한 시간 복잡도, 알고리즘 선택입출력 제한5 ≤ N ≤ 25 dfs나 bfs로 단지에 속하는 집의 수를 셀 수 있고, 단지(dfs or bfs 함수)마다 방문한 집의 개수를 초기화해야..
· 🫠[백준]
https://www.acmicpc.net/problem/17086N × M 크기의 공간에 아기 상어가 여러 마리 있고, 한 칸에는 아기 상어가 최대 1마리만 존재한다.어떤 칸의 안전 거리 = 그 칸과 가장 가까운 아기 상어의 거리두 칸의 거리 = 하나의 칸에서 다른 칸으로 가기 위해 지나야 하는 칸의 수이동은 인접한 8방향(대각선 포함)이 가능하고, 안전 거리가 가장 큰 칸을 구하는 문제다. 문제 탐색하기- 문제에서 구해야 하는 최종 정답은 무엇인지 탐색한 과정- 그 정답을 구하기 위해 어떻게 코드를 구현해야 할지 고민한 과정- 문제에 들어오는 범위를 파악하며 어떤 알고리즘을 쓸 수 있을지 고민해 가는 과정ex. 가능한 시간 복잡도, 알고리즘 선택입출력 제한2 ≤ N, M ≤ 500은 빈칸, 1은 아기..
스프링 컨테이너의 생성과 스프링 빈이 등록되는 과정을 설명한 섹션!스프링 빈이 등록되는 이름에 대한 개념을 잘 기억해야 함 1. 스프링 컨테이너 생성생성 코드// 스프링 컨테이너 생성ApplicationContext applicationContext = new AnnotationConfigApplicationContext(AppConfig.class);ApplicationContext = 스프링 컨테이너 = interfaceBeanFactory와 ApplicationContext로 구분해서 말하지만, BeanFactory를 직접 사용하는 경우는 거의 없음스프링 컨테이너는 XML을 기반으로 만들 수 있고, 어노테이션 기반의 자바 설정 클래스로 만들 수 있음위의 코드는 어노테이션 기반의 자바 설정 클래스로 ..
· 🫠[백준]
https://www.acmicpc.net/problem/11123그리드 위에 양들을 '#'으로 표현했고, 그리드 위에 몇 개의 양 무리가 있는지 세는 문제다. 상하좌우로 인접한 양을 하나의 무리로 취급한다. 문제 탐색하기- 문제에서 구해야 하는 최종 정답은 무엇인지 탐색한 과정- 그 정답을 구하기 위해 어떻게 코드를 구현해야 할지 고민한 과정- 문제에 들어오는 범위를 파악하며 어떤 알고리즘을 쓸 수 있을지 고민해 가는 과정ex. 가능한 시간 복잡도, 알고리즘 선택입출력 제한0 ≤ T ≤ 1001 ≤ H, W ≤ 100 많아도 100 × 100 × 100번 안에 풀 수 있는 문제 ? 격자 안에 무리를 세는 문제는 보통 bfs로 많이 푼다. 그리드 정보를 입력 받을 때 string으로 받고 하나씩 떼어내야..
전체 내용 정리보단 나중에 다시 찾아 볼만한 내용들만 정리해보려고 한다. 1. 예제 만들기프로젝트 생성스프링 부트 3.0 이상 선택JDK 17 이상 사용javax 패키지 -> jakarta 패키지 (옛날 자료를 찾아보다 보면 javax로 되어있는 경우가  많음) 스프링 부트 3.2부터 [file > settings]에서 gradle 검색 후 [Build and run using]과 [Run tests using]에 Gradle 옵션 사용기본값이므로 수정할 필요 없음 로직 테스트예시package hello.core.member;import org.assertj.core.api.Assertions;import org.junit.jupiter.api.Test;import static org.junit.jupi..
· 🫠[백준]
https://www.acmicpc.net/problem/2529두 종류의 부등호 기호 ''가 k개 나열된 순서열 A가 존재하고, 부등호 기호 앞 뒤에 서로 다른 한 자릿수 숫자(0~9)를 넣어 모든 부등호 관계를 만족시키는 (k+1)자리의 정수 중 최댓값과 최솟값을 찾는 문제다. 문제 탐색하기- 문제에서 구해야 하는 최종 정답은 무엇인지 탐색한 과정- 그 정답을 구하기 위해 어떻게 코드를 구현해야 할지 고민한 과정- 문제에 들어오는 범위를 파악하며 어떤 알고리즘을 쓸 수 있을지 고민해 가는 과정ex. 가능한 시간 복잡도, 알고리즘 선택입출력 제한2 ≤ k ≤ 9첫 자리가 0인 경우도 정수에 포함하고, 출력 정수는 하나의 문자열이 돼야 함 백트래킹으로 모든 (k+1)자리의 수를 구하고 조건이 맞는다면 집..
dev-meung
IT::Coding