유클리드 호제법 - 최대공약수 구하기 : 백준 13241번으로 알아보기
·
알고리즘
유클리드 호제법이란? 2개의 자연수 또는 정식의 최대공약수를 구하는 알고리즘이다. 호제법이라는 것은 두 수가 서로 상대방 수를 나누어서 결국 원하는 수를 얻는 알고리즘을 말한다. 예시 12345 와 2445의 최대공약수를 구해보면, 다음과 같게 풀 수 있다. 12345 = 2445 x 5 + 125 2445 = 125 x 19 + 70 125 = 70 x 1 + 55 70 = 55 x 1 + 15 55 = 15 x 3 + 10 15 = 10 x 1 + 5 10 = 5 x 2 이에 따라 최대공약수는 5가 나오게 된다. 최소공배수 구하기 최소 공배수는 두 정수가 공통적으로 가지는 배수 중 가장 작은 값을 의미합니다. 정수 a와 b의 최대공약수 G에 대해서 아래의 식을 만족하는 정수 x와y가 존재할때, a =..
11650번 - 좌표 정렬하기(Stream, Comparator 사용)
·
알고리즘
문제 풀이 import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java.util.Arrays; import java.util.Comparator; import java.util.StringTokenizer; public class Main { public static void main(String[] args) throws IOException { BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); int p = Integer.parseInt(br.readLine()); int[][] arr = ne..
앵귤러를 이용해서 동적 설문조사 페이지를 만들어 보기
·
Front-End/Angular
0. 개요 현재 앵귤러를 사용해서 설문조사하고, 데이터를 축적시키는 페이지를 만드는 일이 생겼습니다. 특이사항으로는 설문조사를 받는 사람들의 상태에 따라서, 다른 설문들이 보여져야 한다는 것이고, 이는 설문 페이지를 여러개를 만드는 과정이 될 것입니다. 이를 해결하기 위해서, 설문 내용만 입력하면, 해당 설문페이지를 만들수 있게 페이지를 작성해 보려고 합니다. 1. 공통 설문내용 및 서비스 생성 먼저, 설문을 할 데이터의 양식을 정했고, 이를 설문 받는 사람에 따라 변동시켜 사용할 수 있게 변수로 저장했습니다. survey.ts // text는 input-text 형식의 질문란 입니다. [ 질문, 입력한 값이 바인딩 될 key값] // select는 input-radio 형식의 질문란 입니다. // ti..
백준 10978번 : 세로읽기 - 자바
·
알고리즘
문제 https://www.acmicpc.net/problem/10798 10798번: 세로읽기 총 다섯줄의 입력이 주어진다. 각 줄에는 최소 1개, 최대 15개의 글자들이 빈칸 없이 연속으로 주어진다. 주어지는 글자는 영어 대문자 ‘A’부터 ‘Z’, 영어 소문자 ‘a’부터 ‘z’, 숫자 ‘0’ www.acmicpc.net 풀이 풀이 출처 https://dev-coco.tistory.com/156 [백준] 10798번 세로읽기 자바(Java) https://www.acmicpc.net/problem/10798 10798번: 세로읽기 총 다섯줄의 입력이 주어진다. 각 줄에는 최소 1개, 최대 15개의 글자들이 빈칸 없이 연속으로 주어진다. 주어지는 글자는 영어 대문자 ‘A’부터 ‘ dev-coco.tist..
JPA - DB에 JSON 및 List값 넣기
·
Back-End/JPA
0. 해당 기능을 사용하게 된 배경 DB에 3개의 공통된 값을 가지는 17개의 리스트형 데이터를 받아서 넣어줘야 할 일이 생겼는데, 이를 해결하기 위해서는 3개 + α(Id, 생성시간 등)의 컬럼을 가지는 17개의 엔티티를 생성 하던가, 51가지 + α(Id, 생성시간 등) 의 컬럼을 가지는 하나의 테이블을 생성하여야 했는데, 이를 컨트롤 하기에는 DB에 부담이 너무 많이 갈 것으로 판단하여, 데이터를 한 컬럼에 JSON 형태로 넣기로 결정하였습니다. 1. 환경 및 라이브러리 설치 해당 포스팅은 MariaDB를 사용한 환경이며 라이브러리를 설치하기 전에 사용하는 DB와 맞는 hibernate 버전을 설치해주시면 됩니다. https://github.com/vladmihalcea/hypersistence-u..
1157번 : 단어공부 - JAVA
·
알고리즘
https://www.acmicpc.net/problem/1157 1157번: 단어 공부 알파벳 대소문자로 된 단어가 주어지면, 이 단어에서 가장 많이 사용된 알파벳이 무엇인지 알아내는 프로그램을 작성하시오. 단, 대문자와 소문자를 구분하지 않는다. www.acmicpc.net 문제 풀이 출처 https://st-lab.tistory.com/64 [백준] 1157번 : 단어 공부 - JAVA [자바] https://www.acmicpc.net/problem/1157 1157번: 단어 공부 알파벳 대소문자로 된 단어가 주어지면, 이 단어에서 가장 많이 사용된 알파벳이 무엇인지 알아내는 프로그램을 작성하시오. 단, 대문자와 소문자 st-lab.tistory.com 문제 답 import java.io.Buff..
JPA 활용 - 엔티티 매핑 대신 DTO를 사용하는 이유
·
Back-End/JPA
엔티티를 Request Body에 직접 매핑하는 경우 import jpabook.jpashop.domain.Member; import jpabook.jpashop.service.MemberService; import lombok.Data; import lombok.RequiredArgsConstructor; import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.RequestBody; import org.springframework.web.bind.annotation.RestController; import javax.validation.Valid; @RestContro..
JPA 활용 - 상품 주문, 주문 목록 검색과 취소 만들기
·
Back-End/JPA
이전글 2023.03.01 - [Back-End/JPA] - JPA 활용 - 변경 감지와 병합 JPA 활용 - 변경 감지와 병합 이전글 2023.02.28 - [Back-End/JPA] - JPA 활용 - 홈 화면과 회원등록 화면 계층 생성 scoring.tistory.com 상품 주문 상품 주문 컨트롤러 생성 package jpabook.jpashop.controller; import jpabook.jpashop.domain.Member; import jpabook.jpashop.domain.item.Item; import jpabook.jpashop.service.ItemService; import jpabook.jpashop.service.MemberService; import jpabook.jpa..
문자열 - 회문 문자열
·
알고리즘
문제 문자열이 입력되었을때, 앞에서부터 읽을때나, 뒤에서 읽을때나 같은 문자열이면 “YES”를 아니라면 NO를 출력해주세요 대소문자 구분X 입력 gooG 출력 YES 풀이 나의 답 import java.util.Scanner; public class Main { public static void main(String[] args){ Main main = new Main(); Scanner in=new Scanner(System.in); String str = in.next(); System.out.println(main.solution(str)); return ; } public String solution(String str) { String answer = ""; String rs = new Stri..
알고리즘 - 문자열 문제 : 암호
·
알고리즘
문제 암호는 # 과 *로 이루어져 있으며, #은 이진수의 1로, *은 이진수의 0으로 변환하여 해석해주세요 알파벳 한 문자마다 #또는 *이 일곱개로 구성되어 있습니다. 입력 4 #****###**#####**#####**##** 출력 COOL 풀이 나의 답 -틀림 import java.util.Scanner; public class Main { public static void main(String[] args) { Main main = new Main(); Scanner in = new Scanner(System.in); int cnt = in.nextInt(); String str = in.next(); System.out.print(main.solution(cnt, str)); return; } p..