[ 백준 ]
- 1929번 소수 구하기
: 1도 소수라고 했다가 틀림,,ㅎ★
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.StringTokenizer;
public class Main {
public static void main(String[] args) throws IOException {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
StringTokenizer stringTokenizer = new StringTokenizer(br.readLine());
int M = Integer.parseInt(stringTokenizer.nextToken());
int N = Integer.parseInt(stringTokenizer.nextToken());
for (int i = M; i <= N; i++) {
if (isPrime(i)) System.out.println(i);
}
}
public static boolean isPrime(int num) {
if(num==1) return false;
if(num>3){
for (int i = 2; i <=Math.sqrt(num); i++) {
if (num % i == 0) return false;
}
}
return true;
}
}
- 1747번 소수&팰린드롬
: toCharArray()로 char[] 배열로 만들어서 비교하면 더 빠를 것 같다.
자바 입문 초기에 배운 함수가 charAt()이라 그런지 습관적으로 쓰게 됨,,
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
public class Main {
public static void main(String[] args) throws IOException {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
long N = Long.parseLong(br.readLine());
long num = N;
while(true){
if(num >= N && isPalindrome(num) && isPrime(num)) {
System.out.println(num);
break;
}
else num++;
}
}
public static boolean isPrime(long num) {
if (num == 1) return false;
if (num > 3) {
for (int i = 2; i <= Math.sqrt(num); i++) {
if (num % i == 0) return false;
}
}
return true;
}
public static boolean isPalindrome(long num) {
String str = String.valueOf(num);
int left = 0;
int right = str.length()-1;
while(left<=right){
if(str.charAt(left) == str.charAt(right)){
left++;
right--;
}
else return false;
}
return true;
}
}
[ 프로그래머스 ]
import java.util.*;
class Solution {
public int[] solution(int[] array, int[][] commands) {
int[] answer = new int[commands.length];
for(int i=0; i<commands.length; i++){
int[] arr = Arrays.copyOfRange(array, commands[i][0]-1, commands[i][1]);
Arrays.sort(arr);
answer[i] = arr[commands[i][2]-1];
}
return answer;
}
}
[ 유어클래스 다시 읽기 ]
- section3. JPA 기반 데이터 액세스 계층
- JPA 구현체 : Hibernate ORM, EclipseLink, DataNucleus 등
-> 내부적으로 JDBC API 이용
- 영속성 컨텍스트(Persistence Context)
- 1차 캐시 + 쓰기 지연 SQL 저장소
- tx.commit()해야 저장소의 쿼리가 실행되어(날아가서) 테이블에 반영됨.
-> 내부적으로 em.flush() 실행. 테이블 반영.
- Spring Data JDBC는 단방향 연관관계만 지원.
JPA는 단방향,양방향 모두 지원
- 객체 그래프 탐색 : 객체를 통해 다른 객체 정보 찾기
- 다대일 단방향 매핑이 기본(테이블의 외래키 생각하기)
- Spring Data JPA : JPA 구현체를 쉽게 사용할 수 있도록 하는 모듈