1620번: 나는야 포켓몬 마스터 이다솜 첫째 줄에는 도감에 수록되어 있는 포켓몬의 개수 N이랑 내가 맞춰야 하는 문제의 개수 M이 주어져. N과 M은 1보다 크거나 같고, 100,000보다 작거나 같은 자연수인데, 자연수가 뭔지는 알지? 모르면 www.acmicpc.net 1. 개요 N개의 input 값이 주어지고, M개의 문제에서 숫자가 주어지면 해당 인덱스에 해당하는 포켓몬 이름을, 포켓몬 이름이 주어지면 해당 인덱스(포켓몬 번호)를 출력하는 문제였다. ✔️ 숫자 -> 포켓몬 이름 출력 ✔️ 문자열(포켓몬 이름) -> 해당하는 포켓몬 번호 출력 N : 도감에 수록된 포켓몬의 개수 (1
✔️ java.lang.Exception - 모든 예외 상황은 이 클래스를 상속받음. 특징 각각의 exception은 코드에서 잘못된 점을 알려줌. exception 이름 자체가 중요 단서를 제공하고 디버깅하는 과정을 도와줌. es) NoSuchElementException, NullPointerException Exception 클래스를 상속받은 새로운 exception을 만들면 코드를 개인화하고 디버깅을 쉽게 만듦. → 이 때도 이름이 중요 커스텀 Exception 만들기 pacakge exception; // 서로 관련 있는 것들은 묶어두는 것이 좋음. exception 패키지에 묶어두라. public class FileFormatException extends Exception { // Excep..
Generic Programming - 다양한 자료형의 객체에 대해 작성한 코드를 재사용한다는 객체 지향 기법 | 필요성 - Generic 프로그래밍이 없었다면 아래 코드에 대해 type이 달라질 때마다 매번 비슷한 코드를 추가로 만들어야 함. public class SS { // public Person[] superSort(Person[] array){ // public String[] superSort (String[] array){ public int[] superSort (int[] array){ // .... sort .... return array; } } → 위와 같이 코드를 짜면 int, String, Person 등 자료형이 달라질 때마다 동일한 method가 추가되어야 함. - 이와 ..
객체에 할당되는 메모리 사이즈 객체의 종류에 따라 달라짐. 객체에 메모리 할당 과정 아래 코드와 같이 객체를 선언 JVM이 4 bytes 블록을 s에 할당 할당된 블록이 heap에 있는 공간을 가리킴. heap에는 Student class에 필요한 메모리 양을 계산하여 그만큼 heap에 할당되어 있음. Student class 안에 선언된 모든 변수들을 계산하여 필요한 메모리 양 계산. JVM은 Student가 무엇인지, 어디서 온 것인지(어디서 상속된 것인지) 알아야 heap에 얼마의 공간을 할당할지 결정할 수 있음. Student s = new Student(); 상속 여러 개의 객체가 있으면 상속을 활용하여 객체 간의 관계를 나타낼 수 있음. 다음과 같은 구조를 이용하여 상속 받을 수 있음. * 아..
시간 복잡도 규칙 입력값 n 은 항상 0 보다 크다. 모든 상수를 제거한다. 예) 3n, 5n, 200n은 모두 n 이다. 낮은 차수의 항은 무시한다. 예) n^3+n^2+n+5 ====> n^3 log함수 일 때 밑을 무시한다. 빅 오 표기법(Big-Oh Notation) 알고리즘의 효율성을 표시하는 표기법 1. O (빅 오 복잡도) 비교 대상인 그래프가 일치 혹은 아래에 있을 때 비교 대상인 다른 알고리즘과 같거나 더 빠름. 2. o (리틀 오 복잡도) 비교 대상인 그래프가 아래에 있을 때 비교 대상인 다른 알고리즘보다 더 빠름. 3. θ (세타 복잡도) 비교 대상인 그래프가 일치할 때 비교 대상인 다른 알고리즘과 같음. 4. Ω (빅 오메가 복잡도) 비교 대상인 그래프가 일치 혹은 위에 있을 때 비..