2020-12-31 오늘은 자바의 예외 중에 모든 개발자들이 가장 두려워하는 NullPointerException에 대하여 알아보도록 하자. 해당 예외가 발생하는 경우는 실제 값이 아닌 null(아무것도 아닌 값)을 가지고 있는 객체 / 변수 등을 호출할 경우 발생하게 되는데, 구체적으로 예를 들어 살펴보도록 하자. package eException; public class main { public static void main(String[] args) { String str = null; System.out.println(str.toString()); //str은 null값을 가지고 있어 String 객체가 아니기 때문에 해당 코드 실행시 NullPointerException 이 발생한다. } } 위..
2020-12-30 문제 민식이는 다음과 같은 폴리오미노 2개를 무한개만큼 가지고 있다. AAAA와 BB 이제 '.'와 'X'로 이루어진 보드판이 주어졌을 때, 민식이는 겹침없이 'X'를 모두 폴리오미노로 덮으려고 한다. 이때, '.'는 폴리오미노로 덮으면 안 된다. 폴리오미노로 모두 덮은 보드판을 출력하는 프로그램을 작성하시오. 입력 첫째 줄에 보드판이 주어진다. 보드판의 크기는 최대 500이다. 출력 첫째 줄에 사전순으로 가장 앞서는 답을 출력한다. 만약 덮을 수 없으면 -1을 출력한다. import java.util.Scanner; public class TemplateA { public static void main(String[] args){ Scanner scan = new Scanner(Sy..
2020-12-29 인터페이스의 경우 구현 클래스를 따로 구현하여 사용하는 것이 일반적이다. 하지만 일회성으로 사용할 경우가 생긴다면, 일일이 클래스를 따로 구현해서 인터페이스를 사용하는 것은 비효율 적일 것이다. 때문에 실행(main) 클래스에서 직접 오버 라이딩하여 사용하는 방법이 있는데 이를 익명 구현 객체라고 한다. 이제 사용법을 알아보도록 하자. package interface_Lambda; public interface human { void name(); void age(); } human 인터페이스는 name / age 두가지 추상 메서드가 있으며, 이제 실행 클래스로 가서 구현하여 사용해보도록 하자. package interface_Lambda; import java.time.LocalD..
2020-12-28 Function 인터페이스는 apply 메서드를 가지고 있으면 매개 값과 리턴 값 모두를 가지고 있다. apply 메서드는 매개 값을 리턴 값으로 맵핑하는 역할을 하게 된다. 그러면 구체적인 사용법을 알아보도록 하자. 아래는 매개값으로 사용할 human 클래스이다. package LambdaFunction; public class human { private String name; private int age; public String getName() { return name; } public void setName(String name) { this.name = name; } public int getAge() { return age; } public void setAge(int ..
2020-12-27 오늘은 Object 클래스의 속하는 compare 메서드와 Comparator 인터페이스를 알아보도록 하자. 우선 Comparator는 Object의 compare을 재정의해야 사용할 수 있다. 즉 개발자가 원하는 기준으로 데이터를 오버 라이딩을 통해 자유롭게 비교할 수 있도록 도와준다. 우선 Comparator의 구현클래스를 하나 만들어 주었다. package tObject; import java.util.Comparator; public class compare implements Comparator{ private int num; public void setNum(int num) { this.num = num; } public int getNum() { return num; } ..
2020-12-26 문제 메이플스토리 뉴비 키파가 드디어 레벨 200을 달성하고 5차 전직이라는 시스템을 이용해 캐릭터를 더욱 강력하게 만들려고 합니다. 5차 전직을 하려면 먼저 퀘스트를 통해 아케인스톤이라는 아이템을 받아야 합니다. 아케인스톤을 활성화시키면 캐릭터가 얻는 경험치를 아케인스톤에 모을 수 있습니다. 5차 전직을 하기 위해서는 총 n개의 퀘스트를 진행해서 n개의 아케인스톤을 받아야 하며, 각각의 아케인스톤에 5억 이상의 경험치를 모으면 5차 전직을 진행할 수 있는 자격이 주어집니다. i번째 퀘스트를 진행하면 ai의 경험치와 i번째 아케인스톤이 주어집니다. 퀘스트로 얻는 경험치도 사냥으로 얻는 것과 똑같은 경험치이기 때문에, i번째 퀘스트의 보상 경험치를 받을 때 활성화되어 있던 아케인스톤에는..