본문 바로가기

반응형

java

(4)
[해결방법] JPA MySQL server version for the right syntax to use @Entity @Getter @NoArgsConstructor(access = AccessLevel.PROTECTED) @AllArgsConstructor public class BookWord { @Id @GeneratedValue(strategy = GenerationType.IDENTITY) @Column(name = "book_word_id") private Long id; @ManyToOne(fetch = FetchType.LAZY) @JoinColumn(name = "book_id") private Book book; @ManyToOne(fetch = FetchType.LAZY) @JoinColumn(name = "word_id") private Word word; private Integer..
JAVA - 백준 알고리즘 - 11399 ATM 이 문제는 백준 단계별 풀어보기 그리디알고리즘에 분류된 문제이다. 이 문제는 정렬을 사용하면 쉽게 풀 수 있다. N번째 사용자가 ATM사용을 마무리하는 시간은 첫번째 사용자가 이용하는데 걸린 시간 + 두번째 사용자가 이용하는데 걸린 시간 + 세번째 사용자가 이용하는데 걸린 시간 + --- N번째 사용자가 이용하는데 걸린 시간 이기때문에 오름차순 정렬시 N번째 사용자가 ATM사용을 마무리하는 시간이 최소가 된다. Arrays.sort() 를 이용하여 오름차순 정렬을 하였다. 만약 오름차순이 아닌 다른 정렬기준을 사용하는 문제였다면 Comparator을 이용하여 정렬기준을 구현하면 된다. import java.io.BufferedReader; import java.io.IOException; import j..
[코딩테스트][알고리즘] 1. Brute Force(브루트포스 , 완전탐색) brute force는 완전 탐색이라고도 불리며, 모든 경우의 수를 직접 대입해보는 방법으로 가장 간단하게 문제를 풀 수 있는 방법이다. 풀이법이 잘 생각나지 않는 문제라면, 완전 탐색을 이용해 코딩을 한 후 최적화하는 과정을 사용한다면 문제를 해결에 도움을 받을 수 있을 것이다. 완전 탐색의 시간 복잡도는 주로 O(N!), O(2^N)이다. 시간 복잡도를 알고 있으면, 문제의 조건을 보고 필요한 알고리즘을 유추하는 방법도 있다고 하니 시간 복잡도에 대해 알아놓으면 좋을 것 같다. 완전 탐색은 반복문을 이용하는 방법, 재귀 함수를 이용하는 방법이 있는데 보편적으로 사용되는 것은 재귀 함수라고 한다. 반복문의 경우 길이가 변하는 문제를 다룰때 구현이 복잡해진다는 단점이 있다. 초보자의 경우에는 재귀함수가 ..
코딩테스트를 위한 자바(java) 파일 입력, 출력 - 1 테스트케이스 입력이 다음과 같이 주어졌을때 처리 방법 case 1 : 첫 줄에는 숫자의 갯수 N / 두번째 줄부터는 숫자 주어진 경우 3 1 2 3 public static void main(String[] args) throws IOException { BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); int N = Integer.parseInt(br.readLine()); // 첫번째 N 문자 입력받기 String[] str = new String[N]; // N 크기의 String 배열 생성 for (int i = 0; N > i; ++i) { // String 배열에 입력받은 문자 담기 str[i] = br.read..

반응형