개발(89)
-
MyBatis 사용 예제 ( feat. Spring Boot , MariaDB )
Spring Boot에서 MyBatis를 사용할때마다 구글링하는 자신의 모습을 발견하고 까먹기전에 셋팅방법을 기록한다. 0. 구조 아래와같이 controller, domain, mapper, service 폴더를 생성한다. 1. pom.xml 작성 pom.xml에 2개의 dependency를 등록한다. 1. 로컬에 MariaDB로 DB를 구성했기때문에 MariaDB JDBC를 등록했다. JDBC는 Java로 DB에 접근 및 제어를 가능하게 해주는 API다. 2. mybatis는 JDBC를 좀 더 편하게 사용할 수 있도록해주는 라이브러리인데 JDBC의 결과 및 설정 매핑을 대신해주고, 결정적으로 mybatis를 사용하면 Java 코드가 간결해진다. .... org.mariadb.jdbc mariadb-ja..
2020.08.22 -
[알고리즘/파이썬] 백준 11053번 - 가장 긴 증가하는 부분 수열
11053번: 가장 긴 증가하는 부분 수열 수열 A가 주어졌을 때, 가장 긴 증가하는 부분 수열을 구하는 프로그램을 작성하시오. 예를 들어, 수열 A = {10, 20, 10, 30, 20, 50} 인 경우에 가장 긴 증가하는 부분 수열은 A = {10, 20, 10, 30, 20, 50} 이 www.acmicpc.net { 1, 2, 1, 4, 3, 2 }라는 순열이 있을때 구할수 있는 증가 부분 수열이 몇가지 존재한다. 예를들면 [1 2] , [1 4], [1 2 3] , [1 2 4] 같은것들이다. 좌측부터 수를 뽑되(순열) 반드시 증가해야하며(증가) 주어진 순열내에 있는 숫자(주어진 순열의 부분)로 이뤄져있다. 위의 예시같은 경우는 3이 가장긴 부분 수열이다. ( [1 2 3] 또는 [ 1 2 4..
2020.07.27 -
[알고리즘/자바] 프로그래머스 - 베스트 앨범
코딩테스트 연습 - 베스트앨범 스트리밍 사이트에서 장르 별로 가장 많이 재생된 노래를 두 개씩 모아 베스트 앨범을 출시하려 합니다. 노래는 고유 번호로 구분하며, 노래를 수록하는 기준은 다음과 같습니다. 속한 노래가 �� programmers.co.kr 생각보다 신경써줘야 할게 많아서 힘들었다. 반례(테스트케이스) 관련 링크는 제일 하단에 있다. 나는 먼저 key를 장르, value를 장르 재생횟수의 총합으로 가지는 HashMap을 만들었다. ( genres_sum ) 그리고 max_genres라는 함수를 통해 현재 genres_sum에서 가장 재생횟수가 많은 장르를 return 하도록 했다. 이제부터 while을 돌며 앨범을 만들면된다. max_genres함수를 통해 가장 재생횟수가 많은 장르를 가져왔..
2020.07.21 -
[알고리즘/자바] 프로그래머스 - 프린터
https://programmers.co.kr/learn/courses/30/lessons/42587 코딩테스트 연습 - 프린터 일반적인 프린터는 인쇄 요청이 들어온 순서대로 인쇄합니다. 그렇기 때문에 중요한 문서가 나중에 인쇄될 수 있습니다. 이런 문제를 보완하기 위해 중요도가 높은 문서를 먼저 인쇄하는 프린�� programmers.co.kr 내가 원하는 출력물이 몇번만에 출력되는지 계산하는 문제다. 그냥 꺼내면 좋겠지만 각 출력물은 우선순위가 부여되어있다. 먼저 prior에 우선순위 정보를 넣고, loc에 위치 정보를 넣었다. prior의 0번째 출력물을 하나 꺼내고 prior에 남아 있는 값들 중에 내가 꺼낸 출력물 보다 우선순위가 높은게 없다면 출력하면 된다. 만약 있다면 제일 후 순위로 다시 ..
2020.07.20 -
[알고리즘/자바] 프로그래머스 - 이상한 문자 만들기
https://programmers.co.kr/learn/courses/30/lessons/12930?language=java 코딩테스트 연습 - 이상한 문자 만들기 문자열 s는 한 개 이상의 단어로 구성되어 있습니다. 각 단어는 하나 이상의 공백문자로 구분되어 있습니다. 각 단어의 짝수번째 알파벳은 대문자로, 홀수번째 알파벳은 소문자로 바꾼 문자열을 programmers.co.kr flag를 하나 만들어서 false면 소문자, true면 대문자를 출력하도록 했다. import java.util.*; class Solution { public String solution(String s) { String answer = ""; // 짝수 홀수를 확인하기 위한 flag boolean flag = false..
2020.07.19 -
[알고리즘/파이썬] 백준 11047번 - 동전0
11047번: 동전 0 첫째 줄에 N과 K가 주어진다. (1 ≤ N ≤ 10, 1 ≤ K ≤ 100,000,000) 둘째 줄부터 N개의 줄에 동전의 가치 Ai가 오름차순으로 주어진다. (1 ≤ Ai ≤ 1,000,000, A1 = 1, i ≥ 2인 경우에 Ai는 Ai-1의 배수) www.acmicpc.net 백준에서 그리디 알고리즘으로 분류된 문제. 매순간 최적의 답들을 구하다 보면 결국 결과도 최적의 값이 될거라는 접근법이다. 주어진 금액K를 최소한의 동전을 이용해서 구해야한다. 동전의 가치가 가장 높은것을 먼저 사용(최적의 값)해서 K를 줄여나가면된다. nk = list(map(int,input().split())) k = nk[1] coin = [] for _ in range(nk[0]): c = ..
2020.07.16