일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | ||
6 | 7 | 8 | 9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 | 17 | 18 | 19 |
20 | 21 | 22 | 23 | 24 | 25 | 26 |
27 | 28 | 29 | 30 |
- 1차원 DP
- 2차원 dp
- 99클럽
- @BeforeAll
- @BeforeEach
- @Builder
- @Entity
- @GeneratedValue
- @GenericGenerator
- @NoargsConstructor
- @Query
- @Table
- @Transactional
- Actions
- Amazon EFS
- amazon fsx
- Android Studio
- ANSI SQL
- api gateway 설계
- api gateway 필터
- ApplicationEvent
- assertThat
- async/await
- AVG
- AWS
- aws eks
- AWS 프리티어
- Azure
- bind
- bitnami kafka
- Today
- Total
목록java (11)
기록
문제백준 22856번 - 트리 순회유사 중위 순회를 수행하면서 이동한 횟수를 계산하는 문제입니다.유사 중위 순회는 다음 규칙을 따릅니다:현재 노드의 왼쪽 자식 노드가 존재하고 방문하지 않았다면, 왼쪽 자식으로 이동합니다.그렇지 않고 오른쪽 자식 노드가 존재하고 방문하지 않았다면, 오른쪽 자식으로 이동합니다.그렇지 않고 현재 노드가 중위 순회의 마지막 노드라면, 탐색을 종료합니다.그렇지 않다면 부모 노드로 이동합니다.중위 순회를 따르는 방식으로 이동하며, 이동한 횟수를 출력합니다.풀이1) 문제풀이트리를 left와 right 배열로 표현하여, 각 노드의 왼쪽과 오른쪽 자식 정보를 저장합니다.중위 순회의 마지막 노드를 findLastNode 함수로 찾아냅니다.마지막 노드는 오른쪽 자식이 없을 때까지 오른쪽으로..
문제백준 20207 - 달력여러 일정이 주어질 때, 이를 달력에 배치하고 차지하는 직사각형 면적을 구하는 문제입니다. 일정은 시작일과 종료일로 주어지며, 겹치는 일정이 있는 경우 이를 높이로 표현합니다. 이를 통해 달력의 전체 면적(폭 × 높이)을 계산하는 것이 목표입니다.풀이1) 일정 마킹날짜를 기준으로 일정의 시작과 끝을 배열에 기록합니다.시작일에는 +1, 종료일 다음 날에는 -1을 기록하여 일정의 변화를 마킹합니다.이를 통해 특정 날짜에 일정이 시작되고 끝나는 구간을 표시할 수 있습니다.for (int[] pair : eventList) { int start = pair[0]; int end = pair[1]; board[start]++; board[end + 1]--;} 예를..
문제https://www.acmicpc.net/problem/14719이번 글에서는 백준 온라인 저지의 14719번 문제, "빗물" 문제를 다뤄보겠습니다.2차원 세계에 블록이 쌓여있고, 비가 내린 후 고일 수 있는 물의 총량을 계산하는 문제입니다.풀이문제의 핵심 아이디어어떤 칸에 고일 수 있는 물의 양은 다음과 같이 계산할 수 있습니다:해당 칸에서 왼쪽 방향으로 가장 높은 블록과 오른쪽 방향으로 가장 높은 블록 중 더 낮은 값을 찾습니다.그 값에서 현재 칸의 블록 높이를 뺀 값이 고일 수 있는 물의 양입니다.식으로 나타내면:물의 양 = Math.min(왼쪽 최대 높이, 오른쪽 최대 높이) - 현재 칸의 높이위 계산을 모든 칸에 대해 수행한 후, 이를 모두 더하면 전체 고인 물의 양을 구할 수 있습니다.P..
레이블된 루프(Labeled Loop)자바(Java)에서는 반복문 앞에 레이블을 지정하여 사용할 수 있다.예제:public static void main(String[] args) { Loop1: // 레이블 Loop1 지정 for (int i = 1; i 출력 결과:첫 번째 for문위 코드에서는 'Loop1'이라는 레이블을 상위 for문에 지정하였다. 일반적으로 break문은 단일 반복문만 종료시키지만, 'Loop1' 레이블을 사용함으로써 break Loop1은 상위 for문까지 종료시킬 수 있다. 결과적으로 '두 번째 for문'은 출력되지 않는다. 레이블은 for문 뿐만 아니라 while이나 do-while 반복문에도 지정할 수 있다.예제:public class Test { publi..
문제https://school.programmers.co.kr/learn/courses/30/lessons/152996 프로그래머스코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.programmers.co.kr풀이위 문제에서 짝을 지을 수 있는 경우의 수를 아래처럼 표현할 수 있다. 아래에서 나올 수 있는 두수의 관계는 (1, 2/3, 2, 4/3)으로 4가지이다. 2배3배4배1/2배2/23/24/21/3배2/33/34/31/4배2/43/44/4[100, 200]이 무게 정보로 주어졌을 때, 100의 2배는 200이고, 200의 1/2배는 100이다. 따라서, 중복으로 체크되는 것을 막기 위해서 위 표..
문제https://school.programmers.co.kr/learn/courses/30/lessons/147354풀이ComparatorComparator는 Java에서 객체들을 비교하고 정렬하는 데 사용되는 인터페이스입니다. 이 인터페이스는 다음과 같이 선언되어 있습니다:interface Comparator { int compare(T o1, T o2); boolean equals(Object obj);}Comparator는 주로 정렬된 컬렉션(예: 배열, 리스트)에서 요소들을 비교하고 정렬하는 데 사용됩니다. compare 메서드를 구현하여 두 객체를 비교하고 그 결과에 따라 정렬 순서를 결정할 수 있습니다.compare 메서드: compare 메서드는 두 개의 객체를 비교합니다. 이 ..
문제https://school.programmers.co.kr/learn/courses/30/lessons/135807 프로그래머스코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.programmers.co.kr풀이유클리드 호제법두 정수의 최대공약수(GCD)를 구하는 방법으로, 두 수를 나누고 나머지를 구하며 반복하여 0이 나올 때까지 계산합니다. 나온 0이 아닌 나머지가 GCD가 됩니다.코드import java.util.*;class Solution { public int solution(int[] arrayA, int[] arrayB) { /*모든 숫자를 나눌 수 있고*/ ..

1. naver map api 발급 받기 콘솔의 Products & Services에서 AI-Application Service 하위의 AI·NAVER API를 선택 Application 등록을 선택하고 Maps 하위의 Mobile Dynamic Map을 체크 Android 앱 패키지 이름에 네이버 지도 SDK를 사용하고자 하는 앱의 패키지명을 추가하고 등록 등록한 애플리케이션의 인증 정보를 선택해 Client ID를 확인 2. 안드로이드 스튜디오에 추가하기 2-1. 의존성 추가 가이드에서는 build.gradle(project) maven~ 코드를 추가하라고 되어있지만 해당 프로젝트에서는 build.gradle(project)에 allproject가 없었다. 그래서 settings.gradle에 해당 ..