728x90
전체 글

전체 글

    [JPA] JPQL (Java Persistence Query Language)

    JPA는 복잡한 검색 조건을 사용해서 엔티티 객체를 조회할 수 있는 다양한 쿼리 기술을 지원한다. 이번 글에서는 다양한 객체지향 쿼리 중 JPQL에 대해 다룰 것이다. JPQL이란? JPQL은 엔티티 객체를 조회하는 객체지향 쿼리다. 따라서 테이블을 대상으로 쿼리하는 것이 아니라 엔티티 객체를 대상으로 쿼리한다. 문법은 SQL과 유사하며 간결하다. JPQL은 결국 SQL로 변환된다. 또한 JPQL은 SQL을 추상화해서 특정 데이터베이스에 의존하지 않는다는 특징이 있다. 데이터베이스 방언만 변경하면 JPQL을 수정하지 않아도 데이터베이스를 변경할 수 있다. 기본 문법과 쿼리 API JPQL도 SQL과 비슷하게 SELECT, UPDATE, DELETE문을 사용할 수 있다. 아래의 JPQL 문법을 보면 전체 ..

    [프로그래머스] 2020 KAKAO BLIND RECRUITMENT 블록 이동하기 (Java)

    프로그래머스 2020 KAKAO BLIND RECRUITMENT 블록 이동하기 : https://programmers.co.kr/learn/courses/30/lessons/60063 코딩테스트 연습 - 블록 이동하기 | 프로그래머스 [[0, 0, 0, 1, 1],[0, 0, 0, 1, 0],[0, 1, 0, 1, 1],[1, 1, 0, 0, 1],[0, 0, 0, 0, 0]] 7 programmers.co.kr 구현하는 데 상당히 오랜 시간이 걸린 2020 카카오 공채 마지막 문제 블록 이동하기다. 평소에 bfs를 활용하여 map에서 이동하는 문제를 많이 풀어봐서 금방 풀 줄 알았지만, 회전하는 부분이 까다로워서 오래 걸렸다. 처음에는 로봇의 왼쪽 좌표, 오른쪽 좌표를 둘 다 클래스에 저장하여 조작을 ..

    [프로그래머스] 2020 KAKAO BLIND RECRUITMENT 외벽 점검 (Java)

    프로그래머스 2020 KAKAO BLIND RECRUITMENT 외벽 점검 : https://programmers.co.kr/learn/courses/30/lessons/60062 코딩테스트 연습 - 외벽 점검 | 프로그래머스 레스토랑을 운영하고 있는 스카피는 레스토랑 내부가 너무 낡아 친구들과 함께 직접 리모델링 하기로 했습니다. 레스토랑이 있는 곳은 스노우타운으로 매우 추운 지역이어서 내부 공사를 하는 도중에 주기적으로 외벽의 상태를 점검해야 할 필요가 있습니다. 레스토랑의 구조는 완전히 동그란 모양이고 외벽의 총 둘레는 n미터이며, 외벽의 몇몇 지점은 추위가 심할 경우 손상될 수도 있는 취약한 지점들이 있습니다. 따라서 내부 공사 도중에도 외벽의 취약 지점들이 손상되지 않 programmers.co..

    [프로그래머스] 2020 KAKAO BLIND RECRUITMENT 기둥과 보 설치 (Java)

    문제 : https://programmers.co.kr/learn/courses/30/lessons/60061 코딩테스트 연습 - 기둥과 보 설치 | 프로그래머스 5 [[1,0,0,1],[1,1,1,1],[2,1,0,1],[2,2,1,1],[5,0,0,1],[5,1,0,1],[4,2,1,1],[3,2,1,1]] [[1,0,0],[1,1,1],[2,1,0],[2,2,1],[3,2,1],[4,2,1],[5,0,0],[5,1,0]] 5 [[0,0,0,1],[2,0,0,1],[4,0,0,1],[0,1,1,1],[1,1,1,1],[2,1,1,1],[3,1,1,1],[2,0,0,0],[1,1,1,0],[2,2,0,1]] [[ programmers.co.kr 2020 카카오 공채의 5번째 문제 기둥과 보 문제다. 예..

    [프로그래머스] 2020 KAKAO BLIND RECRUITMENT 가사 검색 (Java)

    프로그래머스 2020 KAKAO BLIND RECRUITMENT 가사 검색 : https://programmers.co.kr/learn/courses/30/lessons/60060 코딩테스트 연습 - 가사 검색 | 프로그래머스 programmers.co.kr 예전에 못 풀었다가 다시 한번 도전하게 된 2020 카카오 공채의 가사 검색이다. 트라이라는 자료구조를 처음 알게 된 문제다. 이 문제를 처음 접했을 때는 단순하게 정규표현식을 사용해서 문제를 풀어야겠다고 생각했다. 하지만 정규표현식으로 풀게 되면 선형 시간으로 비교를 해야 해서 정확성 테스트는 통과하지만 효율성 테스트를 통과하지 못한다. 따라서 도저히 답을 찾지 못해 구글링을 해보았고, 트라이라는 자료구조를 사용해야 된다는 것을 보게 되었다. 트라..

    [백준] 15684번 사다리 조작 (Java)

    백준 15684번 사다리 조작 : https://www.acmicpc.net/problem/15684 15684번: 사다리 조작 사다리 게임은 N개의 세로선과 M개의 가로선으로 이루어져 있다. 인접한 세로선 사이에는 가로선을 놓을 수 있는데, 각각의 세로선마다 가로선을 놓을 수 있는 위치의 개수는 H이고, 모든 세로선 www.acmicpc.net 개인적으로 많이 어려웠던 문제다. 처음에는 bfs로 시도해봤지만 배열을 복사하는 탓에 메모리, 시간 초과가 떠서 dfs로 풀게 되었다. 평소에 사용하던 dfs의 방식으로 풀이하여 통과하긴 했지만, 모든 경우의 수를 전부 확인하며 최소값을 찾는 방법이기 때문에 시간이 오래 걸렸다. 따라서 이 문제에서는 dfs를 약간 독특하게 변형하여 풀었다. 사다리의 수를 0, ..

    [백준] 14501번 퇴사 (Java)

    백준 14501번 퇴사 : https://www.acmicpc.net/problem/14501 14501번: 퇴사 첫째 줄에 백준이가 얻을 수 있는 최대 이익을 출력한다. www.acmicpc.net 보자마자 DP 문제라고 느낌이 왔지만, dfs로 더 쉽게 풀 수 있을 듯 해서 dfs로 풀게 되었다. 삼성 SW 역량테스트 기출 문제라고 해서 풀어봤는데, 생각보다 너무 쉬워서 깜짝 놀랬다. 총 걸린 시간 : 20분 난이도 : ★☆☆☆☆ 코드 import java.io.BufferedReader; import java.io.InputStreamReader; import java.util.StringTokenizer; public class Main { private static int n, answer = ..

    [SW Expert] [모의 SW 역량테스트] 2447번 차량 정비소

    SW Expert [모의 SW 역량테스트] 2447번 차량 정비소 : https://swexpertacademy.com/main/code/problem/problemDetail.do?contestProbId=AV6c6bgaIuoDFAXy 역대급 요구사항이 많은 문제였다... 요구사항이 많다 보니 정리하는 것이 쉽지 않았다. 초기에 t = 0으로 선언한 뒤, while문 안에서 t를 1씩 증가시키며 시간의 흐름을 표현한다. 고객의 도착시간과 t가 일치한다면 reception Queue에 추가한다. 이는 고객이 방문하여 접수 창구 전에 기다리는 것을 나타낸다. 접수 창구와 정비 창구는 Desk라는 클래스를 선언하여 상태와 시간 등의 변수를 조작했다. Desk 클래스에는 clear, next, in 함수가 포..

728x90