분류 전체보기

    DAO, DTO, VO, Repository, 뭐가 다른걸까?

    DAO, DTO, VO, Repository, 뭐가 다른걸까?

    Entity doamin 패키지 DB 테이블과 1:1로 매핑되는 객체 데이터베이스 테이블내에 존재하는 컬럼만을 속성으로 가진다 도메인 로직(속성 변경)만을 가지고 있어야 하고 서비스 로직은 가지고 있으면 안된다. DAO(Data Access Object) repository 패키지 DB의 데이터에 접근하기 위한 객체. 삽입, 삭제, 조회 등의 기능 수행 JPA에서의 Repository의 기능과 동일한 역할 DTO(Data Transfer Object) dto 패키지 각 계층간(Controller, View, Business Layer(Model)) 데이터 교환을 위한 객체 로직을 가지지 않는 데이터 객체. Getter와 Setter 메서드만 가진 클래스 유효성 체크 애노테이션 사용하면 편리 https:/..

    [PS] 백준 11655번 ROT13

    문제 11655번: ROT13 첫째 줄에 알파벳 대문자, 소문자, 공백, 숫자로만 이루어진 문자열 S가 주어진다. S의 길이는 100을 넘지 않는다. www.acmicpc.net 풀이 알파벳을 13글자씩 밀어서 출력하면 되는데, 알파벳은 26글자 이므로 14번째 글자 부터는 A(a)부터 다시 돌아가서 출력하면 된다. x+13

    [PS] 백준 10799번 쇠막대기

    문제 10799번: 쇠막대기 여러 개의 쇠막대기를 레이저로 절단하려고 한다. 효율적인 작업을 위해서 쇠막대기를 아래에서 위로 겹쳐 놓고, 레이저를 위에서 수직으로 발사하여 쇠막대기들을 자른다. 쇠막대기와 레이저 www.acmicpc.net 풀이 스택을 사용하여 풀었다. 기본적으로 )는 무조건 push하고, )일 때 스택을 pop한다. stack.size로 잘린 막대 개수를 카운트한다. 1. (가 들어옴 → stack.push 2. )가 들어옴 → 일단 stack.pop을 하고 charAt(i-1) 확인 ( )이면 레이저로 잘린 것이므로 piece += stack.size ) )이면 막대하나의 끝이므로 앞에 (를 하나 없앰 piece++; 코드 import java.io.BufferedReader; imp..

    [PS] 백준 10828번 스택

    문제 10828번: 스택 첫째 줄에 주어지는 명령의 수 N (1 ≤ N ≤ 10,000)이 주어진다. 둘째 줄부터 N개의 줄에는 명령이 하나씩 주어진다. 주어지는 정수는 1보다 크거나 같고, 100,000보다 작거나 같다. 문제에 나와있지 www.acmicpc.net 풀이 참고한 풀이 참고글: 자바 컬렉션 프레임워크 참고글: stack interface 스택 문제 풀려다가 자바 컬렉션 인터페이스를 공부하게 생긴... 문제 자체는 쉬우나 이번에는 위 글들을 읽으며 자바 컬렉션에 대해 다시 공부했다. Stack 라이브러리는 'Vector' 클래스를 상속받아 구현하고 있다. Vector 클래스는 기본적으로 'ArrayList'와 그 구조가 거의 같다. Stack 클래스는 내부에서 최상위 타입 배열인 Objec..

    [PS] 백준 11004번 K번째 수

    문제 11004번: K번째 수 수 N개 A1, A2, ..., AN이 주어진다. A를 오름차순 정렬했을 때, 앞에서부터 K번째 있는 수를 구하는 프로그램을 작성하시오. www.acmicpc.net 풀이 퀵소트 참고글 참고한 풀이1 참고한 풀이2 Quick Sort 퀵소트는 partition 메서드를 중심으로 재귀호출하는 방식으로 구현된다. pivot의 자리가 선택(partition 메서드 한 번 실행)된 후 부분집합으로 계속 쪼개져 정렬하는 분할 정복 방식 정렬 알고리즘 pivot을 기준으로 작은 수들은 pivot의 왼쪽, 큰 수들은 오른쪽에 배치 이 과정을 재귀적으로 반복하면 모든 수가 정렬이 된다 pivot을 선택하는 방법에 따라 처리속도가 달라진다 첫번째 요소 / 중간 요소 / 마지막 요소 / 랜덤..

    [PS] 백준 11652번 카드

    문제 11652번: 카드 준규는 숫자 카드 N장을 가지고 있다. 숫자 카드에는 정수가 하나 적혀있는데, 적혀있는 수는 -262보다 크거나 같고, 262보다 작거나 같다. 준규가 가지고 있는 카드가 주어졌을 때, 가장 많이 가지 www.acmicpc.net 풀이 다뤄야 할 데이터, N의 최대 개수는 십만개이지만, 카드에 입력될 수 있는 수의 범위는 -2의 62승~ 2의 62승이므로 long타입 배열을 선언한다. 카드배열에 수를 입력받은 뒤 가장 많은 개수의 카드의 값을 출력하는 문제이다. 주의할 점은 가장 많은 개수의 카드가 여러종류일 경우 카드의 숫자가 더 작은 것을 출력한다는 점이다. 생각해보면 두 가지 방법이 있다. 방법1) Arrays.sort로 오름차순 정렬을 한 뒤 카드 개수를 카운트하기 방법2..

    [PS] 백준 10989번 수 정렬하기 3

    문제 10989번: 수 정렬하기 3 첫째 줄에 수의 개수 N(1 ≤ N ≤ 10,000,000)이 주어진다. 둘째 줄부터 N개의 줄에는 수가 주어진다. 이 수는 10,000보다 작거나 같은 자연수이다. www.acmicpc.net 풀이 ※ 주의 1