먼저 equals를 오버라이드 할때는 pk값만 오버라이드 하게 되는데, 먼저 가정을 하나 들겠습니다. num이라는 pk가 있다고 생각하면 오버라이드는 이런 형태를 갖고 있습니다. 일반적인 Object equals 오버라이드 형태 @Override public boolean equals(Object obj) { if (this == obj) return true; if (obj == null) return false; if (getClass() != obj.getClass()) return false; Person other = (Person) obj; return Objects.equals(num, other.num); } 여기서 코드 한 줄을 추가합니다. Q1 - NullPointException @O..
문제의 코드 static Listbooks = new ArrayList(); @Override public Book[] getList() { return (Book[])books.toArray(); } 이러한 코드를 Book에서 불러왔는데 ClassCastException 오류가 생겼다. 컴파일시에는 아무런 문제가 없다. toArray() 메소드의 반환은 Object[]이다. Object[] -> Book[] Book[]조상인 Object[]를 형변환했는데 왜 이런 문제가생겼을까? Example 예를들어 이러한 코드가있다. Object[] objectArray = new Object[3]; objectArray[0] = new Person("Alice", "1234", 25); objectArray[1]..
피보나치 수의 확장 - 1788 1788번: 피보나치 수의 확장 첫째 줄에 F(n)이 양수이면 1, 0이면 0, 음수이면 -1을 출력한다. 둘째 줄에는 F(n)의 절댓값을 출력한다. 이 수가 충분히 커질 수 있으므로, 절댓값을 1,000,000,000으로 나눈 나머지를 출력한다. www.acmicpc.net 성능 요약 메모리: 71248 KB, 시간: 212 ms 분류 다이나믹 프로그래밍, 수학 문제 설명 수학에서, 피보나치 수는 위의 점화식과 같이 귀납적으로 정의되는 수열이다. 위의 식에서도 알 수 있듯이, 피보나치 수 F(n)은 0 이상의 n에 대해서만 정의된다. 하지만 피보나치 수 F(n)을 n이 음수인 경우로도 확장시킬 수 있다. 위의 식에서 n > 1인 경우에만 성립하는 F(n) = F(n-1)..
[Silver I] 회의실 배정 - 1931 문제 링크 1931번: 회의실 배정 (1,4), (5,7), (8,11), (12,14) 를 이용할 수 있다. www.acmicpc.net 성능 요약 메모리: 137012 KB, 시간: 524 ms 분류 그리디 알고리즘, 정렬 문제 설명 한 개의 회의실이 있는데 이를 사용하고자 하는 N개의 회의에 대하여 회의실 사용표를 만들려고 한다. 각 회의 I에 대해 시작시간과 끝나는 시간이 주어져 있고, 각 회의가 겹치지 않게 하면서 회의실을 사용할 수 있는 회의의 최대 개수를 찾아보자. 단, 회의는 한번 시작하면 중간에 중단될 수 없으며 한 회의가 끝나는 것과 동시에 다음 회의가 시작될 수 있다. 회의의 시작시간과 끝나는 시간이 같을 수도 있다. 이 경우에는 시작하자마..
[Gold V] ABCDE - 13023 문제 링크 13023번: ABCDE 문제의 조건에 맞는 A, B, C, D, E가 존재하면 1을 없으면 0을 출력한다. www.acmicpc.net 성능 요약 메모리: 31256 KB, 시간: 700 ms 분류 백트래킹, 깊이 우선 탐색, 그래프 이론, 그래프 탐색 문제 설명 BOJ 알고리즘 캠프에는 총 N명이 참가하고 있다. 사람들은 0번부터 N-1번으로 번호가 매겨져 있고, 일부 사람들은 친구이다. 오늘은 다음과 같은 친구 관계를 가진 사람 A, B, C, D, E가 존재하는지 구해보려고 한다. A는 B와 친구다. B는 C와 친구다. C는 D와 친구다. D는 E와 친구다. 위와 같은 친구 관계가 존재하는지 안하는지 구하는 프로그램을 작성하시오. 입력 첫째 줄에..