본문 바로가기

분류 전체보기

(104)
[프로그래머스] 도둑질 (Java) 카테고리 DP (동적계획법) 나만의 카테고리 간단한 DP 문제 링크 programmers.co.kr/learn/courses/30/lessons/42897?language=java 코딩테스트 연습 - 도둑질 도둑이 어느 마을을 털 계획을 하고 있습니다. 이 마을의 모든 집들은 아래 그림과 같이 동그랗게 배치되어 있습니다. 각 집들은 서로 인접한 집들과 방범장치가 연결되어 있기 때문에 인접한 programmers.co.kr 요점 3번째 부터 뽑는 경우의 수를 생각해야한다 참고 지식 Math.max() 풀이 (Java) import java.util.*; class Solution { public int solution(int[] money) { int answer = 0; int[] firstDp = ne..
[Spring Batch] Spring Batch chunk 지향 처리에서 error 없이 insert가 안되는 이슈 1. 이슈 환경 Spring Batch chunk size = 1000 custom skip policy로 Duplicate Key 에러 발생 시 skip 하도록 처리 2. 해결 해당 배치는 A 테이블에서 B 테이블로 단순히 옮겨지는 배치였습니다. 단! B 테이블의 Primary Key (우선 키)가 A 테이블의 Primary Key의 일부였습니다. - A 테이블 예시 id - PK title user_name in_time - PK - B 테이블 예시 id - PK code target 이러한 환경에서 에러는 나지 않고 정상적으로 실행되어 보였지만 DB를 확인해보니 insert가 전혀 되어 있지 않았습니다. 디버깅으로 확인해보니 Reader에서 A테이블을 Select 하는 부분에는 전혀 문제가 없었고 ..
[프로그래머스 SQL] 있었는데요 없었습니다 카테고리 SQL - JOIN 나만의 카테고리 비교 연산자 사용 문제 링크 programmers.co.kr/learn/courses/30/lessons/59043 코딩테스트 연습 - 있었는데요 없었습니다 ANIMAL_INS 테이블은 동물 보호소에 들어온 동물의 정보를 담은 테이블입니다. ANIMAL_INS 테이블 구조는 다음과 같으며, ANIMAL_ID, ANIMAL_TYPE, DATETIME, INTAKE_CONDITION, NAME, SEX_UPON_INTAKE는 각각 동물의 아이디 programmers.co.kr 요점 DATE 형태 비교 방식 공부 참고 지식 CDATA - MyBatis 사용시 비교연산자를 문자열로 인식시키기 위해서 사용 풀이 (MySQL & Oracle) SELECT AI.ANIMA..
[프로그래머스 SQL] 없어진 기록 찾기 카테고리 SQL - JOIN 나만의 카테고리 서브 쿼리 문제 링크 programmers.co.kr/learn/courses/30/lessons/59042 코딩테스트 연습 - 없어진 기록 찾기 ANIMAL_INS 테이블은 동물 보호소에 들어온 동물의 정보를 담은 테이블입니다. ANIMAL_INS 테이블 구조는 다음과 같으며, ANIMAL_ID, ANIMAL_TYPE, DATETIME, INTAKE_CONDITION, NAME, SEX_UPON_INTAKE는 각각 동물의 아이디 programmers.co.kr 요점 OUTER_JOIN 아니면 서브쿼리도 가능하다 참고 지식 OUTER_JOIN SubQuery 풀이 (MySQL & Oracle) // WHERE 절 서브쿼리 활용 SELECT ANIMAL_ID, ..
[Kafka] 카프카 기초 - 2 1.1. Consumer과 Partition 예시 1) 파티션 4개, 컨슈머 2개 위의 그림처럼 적절한 비율로 나눠서 Consume하게 됩니다. 예시 2) 파티션 4개, 컨슈머 1개 컨슈머가 하나밖에 없으므로 하나의 Consumer가 파티션을 순차적으로 Consume 하게 됩니다. 예시 3) 파티션 4개, 컨슈머 5개 파티션보다 Consumer 개수가 많으면 남은 Consumer는 일을 하지 못합니다. 즉, Consumer 개수는 파티션보다 많으면 안된다. 1.2. Consumer 장애 상황 장애 시 리밸런싱 발생 리밸런싱 : 컨슈머의 장애 혹은 session_timeout_ms가 지나면 할당된 컨슈머 재조정 1.3. Consumer Group 컨슈머는 그룹을 지정해서 사용할 수 있다 컨슈머 그룹 단위로..
[Kafka] 카프카 기초 - 1 참조 블로그 : server-engineer.tistory.com/681 이 글은 위의 참고 영상과 그 밑의 정리해놓은 다른 블로그를 참조하며 정리한 글입니다. 제 글보다는 위의 글이 더 깔끔하다고 생각합니다... ㅎㅎ 0. 시작하며 이 글을 시작으로 꾸준히 업로드 될 카프카 시리즈 게시물은 제가 직접 카프카를 사용해 보면서 이정도만 알면 흐름정도는 알고 사용할 수 있겠구나 하는 정도로만 설명을 하고 정리를 할 예정입니다. 게시물을 끊어가는 기준은 부족한 제가 공부할 때 이해한 큰 단위 기준으로 나누게 되었습니다. 가볍게 짧은 시간에 보실 예정이라면 추천드리지만 깊게 알고싶으신 분들은 추가 검색을 권장드립니다. :) 1. Kafka 용어 정리 Broker : 카프카 서버의 단위 Topic : 사용자가 데..
[프로그래머스] 주식가격 (C++) 카테고리 스택/큐 나만의 카테고리 스택/큐, Vector 문제 링크 programmers.co.kr/learn/courses/30/lessons/42584 코딩테스트 연습 - 주식가격 초 단위로 기록된 주식가격이 담긴 배열 prices가 매개변수로 주어질 때, 가격이 떨어지지 않은 기간은 몇 초인지를 return 하도록 solution 함수를 완성하세요. 제한사항 prices의 각 가격은 1 이상 10,00 programmers.co.kr 요점 각각 순회해서 처리하는 편이 간단하고 효율성 테스트를 통과할 수 있다. 참고 지식 Vector (C++) 풀이 (C++) #include #include using namespace std; vector solution(vector prices) { vector ..
[MySQL] Insert 후 PK값 얻어오기 (MyBatis 사용) 임시로 만든 City라는 테이블을 살펴보겠습니다. CITY_ID 가 PK 이면서 AI(auto increment)로 사용하는 입장에서는 다음 id를 쉽게 유추할 수 없습니다. 이 PK 값을 바로 가져와서 insert에 활용하는 등 여러가지 상황이 있을 수 있으니 얻어와보도록 하겠습니다. 이번 예제에서는 MyBatis의 SelectKey를 사용해서 쿼리를 작성합니다. 쿼리 /*keyProperty는 결과값을 넣을 model의 변수명*/ /*order(BEFORE, AFTER)를 통해 Insert 쿼리를 실행 후 가져올지 그 전에 가져올지 정할 수 있다*/ SELECT LAST_INSERT_ID() INSERT INTO USER_INFO ( CITY , COUNTRY_ID , LAST_UPDATE ) VAL..
[Flutter] naver_map_plugin 사용기 Flutter를 사용한 토이 프로젝트를 진행중 네이버 지도를 사용해보고 싶었는데 마침 플러그인이 있어서 소개겸 사용한 방법을 포스팅합니다. 플러그인 pub.dev : pub.dev/packages/naver_map_plugin 1. 사용방법 1. 네이버 클라우드 플랫폼에 가입하고 앱 등록 클라우드 플랫폼 : www.ncloud.com NAVER CLOUD PLATFORM cloud computing services for corporations, IaaS, PaaS, SaaS, with Global region and Security Technology Certification www.ncloud.com 가입 후 Console 메뉴로 들어갑니다. 콘솔 메뉴에서 application을 등록합니다. 어플리케..
[프로그래머스] 방문 길이 (Java) 카테고리 배열 나만의 카테고리 로직 짜기 문제 링크 programmers.co.kr/learn/courses/30/lessons/49994 코딩테스트 연습 - 방문 길이 programmers.co.kr 요점 배열 활용 길은 양쪽에서 지나가는 경우를 모두 확인해야한다 참고 지식 String.length() - Java 풀이 (Java) class Solution { public boolean[][][][] visitedPoint = new boolean[11][11][11][11]; public int[] moveX = {-1, 1, 0, 0}; public int[] moveY = {0, 0, 1, -1}; public int solution(String dirs) { int answer = 0; int..