[BAEKJOON] 2250번 트리의 높이와 너비
·
Algorithm/DFS
https://www.acmicpc.net/problem/2250 2250번: 트리의 높이와 너비 첫째 줄에 노드의 개수를 나타내는 정수 N(1 ≤ N ≤ 10,000)이 주어진다. 다음 N개의 줄에는 각 줄마다 노드 번호와 해당 노드의 왼쪽 자식 노드와 오른쪽 자식 노드의 번호가 순서대로 주어진다. www.acmicpc.net 처음 문제를 보자마자 그래프가 나오길래 그래프 탐색 방법을 떠올렸다. 접근 방법은 차례대로 인덱싱하는 방향이길래 왼쪽부터 차례대로 인덱싱할수 있도록 DFS방식으로 접근해봤다. 또한 각 레벨에서의 너비를 구해야하는데, 탐색할때마다 인덱스를 1부터 시작해서 하나씩 증가시켜주며(어차피 왼쪽에서 부터 차례대로 인덱싱 할거니까), 각 레벨의 low, high 배열을 갱신시켜서 왼쪽 끝과 ..
[BAEKJOON] 1057번 토너먼트
·
Algorithm/Brute Force
https://www.acmicpc.net/problem/1057 1057번: 토너먼트 김지민은 N명이 참가하는 스타 토너먼트에 진출했다. 토너먼트는 다음과 같이 진행된다. 일단 N명의 참가자는 번호가 1번부터 N번까지 배정받는다. 그러고 난 후에 서로 인접한 번호끼리 스타를 www.acmicpc.net 지문이 너무 길어서 읽는 시간이 많이 걸렸던 문제였다. 첫번째 접근방식은 모든조건을 if문을 두어 풀어서 시간초과가 났다,,, 소스코드 #include #include using namespace std; int n, kim, im, cnt; //홀수 일때 마지막 한명 부전승 //라운드 마다 참가자의 번호를 순서 유지하며, 다시 번호 매김 int main(){ cin >> n >> kim >> im; c..
Spring Batch 실습(2)
·
Spring/Batch Programming
2024.03.06 - [분류 전체보기] - Spring Batch 실습(1) Spring Batch 실습(1) 개발 환경 세팅 java 17 (spring batch5 최소 필요) spring initializer 본인의 경우 PC에 이미 java 11이 깔려 있었기에 환경변수 세팅을 바꾸어 줬다. 이곳에 잘 정리되어 있는 거 같아 참고하시길,, https://zpub. lsdiary.tistory.com 이전 글에서는 직접 Batch 를 코드로 구현 해봤다. Spring Batch에 한층 더 가까워 지기 위해 코드를 향상 시켜보는 글이 될 것 같다. 우선 Batch 의 기본 동작 원리인 read, processing, save 3가지 순서를 레포지토리로 만들어주고 그에 대한 구현 클래스를 짰다. 이러..
Spring Batch 실습(1)
·
Spring/Batch Programming
개발 환경 세팅 java 17 (spring batch5 최소 필요) spring initializer 본인의 경우 PC에 이미 java 11이 깔려 있었기에 환경변수 세팅을 바꾸어 줬다. 이곳에 잘 정리되어 있는 거 같아 참고하시길,, https://zpub.tistory.com/21 [백엔드] 자바 11 -> 자바 17로 업데이트 스프링 3.0부터는 자바 17부터 지원이 된다고 한다. 자바 11을 사용하다가 어쩔 수 없이 자바 버젼을 업그레이드 하게 된 과정을 리뷰해 보고자 한다. 1. 오라클 홈페이지에서 설치 파일을 다운로 zpub.tistory.com 코드는 어떻게? 1. 기본적으로 반복문(while, for) 을 돌게 된다. → 전체 데이터 조회 2. 조회, 추출 및 변환, 저장 및 변경을 해준..
Spring Batch
·
Spring/Batch Programming
2024.03.05 - [Spring/Batch Programming] - Batch Batch Batch란? 원래는 그냥 Batch라고 하면 뒤에서 작동하는 프로세스 정도로 알고있었지만 실시간으로 응답하는 Http API 와 다르게 한번에 모아서 일괄 처리하는 방식! 이때까지 개발해왔던 나의 지식으 lsdiary.tistory.com 이전 글에서 살펴 봤던 Batch를 스프링이 어떻게 해결했는지 알아보고자 한다. 보통 아래의 3단계 방식으로 따른다. Read - 저장된 DB에서 데이터를 읽는다. Processes - 원하는 데이터형식으로 변환한다. Write(or Save) - 쓰거나 저장한다. 스프링 배치란? 더보기 간단히 말해서 배치 프레임워크이다. 스프링의 기본적인 특성들을 모두 사용할 수 있다...
Batch
·
Spring/Batch Programming
Batch란? 원래는 그냥 Batch라고 하면 뒤에서 작동하는 프로세스 정도로 알고있었지만 실시간으로 응답하는 Http API 와 다르게 한번에 모아서 일괄 처리하는 방식! 이때까지 개발해왔던 나의 지식으로는 위의 말이 잘 이해되지 않았다,,, 우리가 일상생활에서 쉽게 접할 수 있는 예시로 이해해보도록 하자,,! 정산 시스템 배달기사님이 배달을 하고나서 금액을 정산 받는 경우를 생각해보자. 거리, 시간, 요구사항등등 금액에 영향을 끼치는 요인이 많을 것이다. 이 경우 데이터가 너무 많기 때문에 하루에 한번 혹은 일주일에 한번 주기로 한꺼번에 처리하는것이 효율적이다. 2. 약관 변경 메일 어플리케이션을 사용하다가 약관이 변경되는 경우는 사용자가 직접 UI와 상호작용해서 반응하는 이벤트가 아닌, 자동으로 생..