Peony의 기록 창고 🌼
[Algorithm] 백준 16953번_A->B(Java)
Algorithm/백준 [BOJ] 2022. 7. 11. 20:44

🔗 16953번 A -> B https://www.acmicpc.net/problem/16953 16953번: A → B 첫째 줄에 A, B (1 ≤ A < B ≤ 109)가 주어진다. www.acmicpc.net 문제 정수 A를 B로 바꾸려고 한다. 가능한 연산은 다음과 같은 두 가지이다. 2를 곱한다. 1을 수의 가장 오른쪽에 추가한다. A를 B로 바꾸는데 필요한 연산의 최솟값을 구해보자. 입력 첫째 줄에 A, B (1 ≤ A < B ≤ 10^9)가 주어진다. 출력 A를 B로 바꾸는데 필요한 연산의 최솟값에 1을 더한 값을 출력한다. 만들 수 없는 경우에는 -1을 출력한다. 📝 접근 방법 및 풀이 처음에는 A를 B로 바꾸는 방식으로 하려 했지만, 거꾸로 B를 A로 바꾸는 로직이 더 빠를 것 같아서 그..

article thumbnail
Spring Boot와 AWS 로 혼자 구현하는 웹서비스 3장

JPA 소개 현대의 웹 애플리케이션에서 관계형 데이터베이스는 빠질 수 없는 요소이다. Oracle, MySQL, MSSQL 등을 쓰지 않는 웹 애플리케이션은 거의 없다. 그러다 보니 객체를 관계형 데이터베이스에서 관리하는 것이 무엇보다 중요하다. 관계형 데이터베이스가 계속해서 웹 서비스의 중김이 되면서 모든 코드는 SQL 중심이 되어 간다. 이는 관계형 데이터베이스가 SQL만 인식할 수 있기 때문인데, SQL로만 가능하니 각 테이블마다 기본적인 (CRUD)를 매번 생성해야 된다. 개발자가 아무리 자바 클래스를 아름답게 설계해도, SQL을 통해야만 데이터베이스에 저장하고, 조회할 수 있다. 결국 관계형 데이터베이스를 사용해야만 하는 상황에서 SQL은 피할 수 없다. JPA는 이런 문제점을 해결하기 위해 등..

[Algorithm] 백준 1958번_LCS3(Java)
Algorithm/백준 [BOJ] 2022. 7. 10. 21:51

🔗 1958번 LCS3 https://www.acmicpc.net/problem/1958 1958번: LCS 3 첫 줄에는 첫 번째 문자열이, 둘째 줄에는 두 번째 문자열이, 셋째 줄에는 세 번째 문자열이 주어진다. 각 문자열은 알파벳 소문자로 이루어져 있고, 길이는 100보다 작거나 같다. www.acmicpc.net 문제 문자열과 놀기를 세상에서 제일 좋아하는 영식이는 오늘도 문자열 2개의 LCS(Longest Common Subsequence)를 구하고 있었다. 어느 날 영식이는 조교들이 문자열 3개의 LCS를 구하는 것을 보았다. 영식이도 도전해 보았지만 실패하고 말았다. 이제 우리가 할 일은 다음과 같다. 영식이를 도와서 문자열 3개의 LCS를 구하는 프로그램을 작성하라. 입력 첫 줄에는 첫 번..

[Algorithm] 백준 9252번_LCS2(Java)
Algorithm/백준 [BOJ] 2022. 7. 10. 20:44

🔗 9252번 LCS2 https://www.acmicpc.net/problem/9252 9252번: LCS 2 LCS(Longest Common Subsequence, 최장 공통 부분 수열)문제는 두 수열이 주어졌을 때, 모두의 부분 수열이 되는 수열 중 가장 긴 것을 찾는 문제이다. 예를 들어, ACAYKP와 CAPCAK의 LCS는 ACAK가 된다. www.acmicpc.net 문제 LCS(Longest Common Subsequence, 최장 공통 부분 수열) 문제는 두 수열이 주어졌을 때, 모두의 부분 수열이 되는 수열 중 가장 긴 것을 찾는 문제이다. 예를 들어, ACAYKP와 CAPCAK의 LCS는 ACAK가 된다. 입력 첫째 줄과 둘째 줄에 두 문자열이 주어진다. 문자열은 알파벳 대문자로만 ..

article thumbnail
[Algorithm] 백준 9251번_LCS(Java)
Algorithm/백준 [BOJ] 2022. 7. 10. 18:04

🔗 9251번 LCS https://www.acmicpc.net/problem/9251 9251번: LCS LCS(Longest Common Subsequence, 최장 공통 부분 수열)문제는 두 수열이 주어졌을 때, 모두의 부분 수열이 되는 수열 중 가장 긴 것을 찾는 문제이다. 예를 들어, ACAYKP와 CAPCAK의 LCS는 ACAK가 된다. www.acmicpc.net 문제 LCS(Longest Common Subsequence, 최장 공통 부분 수열)문제는 두 수열이 주어졌을 때, 모두의 부분 수열이 되는 수열 중 가장 긴 것을 찾는 문제이다. 예를 들어, ACAYKP와 CAPCAK의 LCS는 ACAK가 된다. 입력 첫째 줄과 둘째 줄에 두 문자열이 주어진다. 문자열은 알파벳 대문자로만 이루어져..

article thumbnail
Spring Boot와 AWS로 혼자 구현하는 웹서비스 2장

이 글은 이동욱 님의 '스프링 부트와 AWS로 혼자 구현하는 웹 서비스' 책 내용을 정리한 것입니다. http://www.yes24.com/Product/Goods/83849117 테스트 코드 소개 테스트 코드는 현재 웹 서비스에서 매우 중요한 요소이다. 테스트 코드에서 꼭 짚고 넘어가야 하는것은 TDD와 단위테스트(unit test)다. TDD 테스트가 주도하는 개발(Test-Driven-Development, 혹은 Test-First-Development) 을 의미한다. 항상 실패하는 테스트를 먼저 작성하고(RED) 테스트가 통과하는 프로덕션 코드를 작성하고(Green) 테스트가 통과하면 프로덕션 코드를 리팩토링합니다.(Refacetor) 단위 테스트 단위테스트는 TDD의 첫 번째 단계인 기능 단위의..

article thumbnail
Spring Boot와 AWS 로 혼자 구현하는 웹서비스 1장

이 글은 이동욱 님의 '스프링 부트와 AWS로 혼자 구현하는 웹 서비스' 책 내용을 정리한 것입니다. http://www.yes24.com/Product/Goods/83849117 스프링 부트와 AWS로 혼자 구현하는 웹 서비스 - YES24 가장 빠르고 쉽게 웹 서비스의 모든 과정을 경험한다. 경험이 실력이 되는 순간!이 책은 제목 그대로 스프링 부트와 AWS로 웹 서비스를 구현한다. JPA와 JUnit 테스트, 그레이들, 머스테치, 스프링 www.yes24.com 개발 환경 스프링 부트로 웹 서비스를 만들기 위한 가장 첫 번째 단계로 개발환경을 구성해 보자. IDE란 통합 개발 환경(Integrated Development Environment, IDE)으로써 공통된 개발자 툴을 하나의 GUI(gra..

article thumbnail
[JPA] 고급 매핑
SpringBoot/JPA 기본 2022. 7. 2. 15:40

상속관계 매핑 관계형 데이터베이스는 상속 관계가 없다. 슈퍼타입 서브타입 관계라는 모델링 기법이 객체 상속과 유사하다. 상속관계 매핑이란 객체의 상속과 DB의 슈퍼타입-서브타입 관계를 매핑하는 것을 의미한다. : 조인전략(각각 테이블로 변환), 단일 테이블 전략, 구현 클래스마다 테이블 전략(서브타입 테이블로 변환) 기법이 있다. Album, Movie, Book은 모두id, name, price를 가지고 있다(공통 변수) 주요 어노테이션 @Inheritance(strategy=InheritanceType.XXX) JOINED : 조인 전략 SINGLE_TABLE : 단일 테이블 전략 TABLE_PER_CLASS : 구현 클래스마다 테이블 전략 @DiscriminatorColumn(name="DTYPE"..