목록분류 전체보기 (431)
mojo's Blog
key Listener code import javax.swing.*; // JFrame import java.awt.*; // Container import java.awt.event.KeyAdapter; import java.awt.event.KeyEvent; import java.awt.*; public class KeyListenerEx extends JFrame{ private JLabel [] keyMessage; public KeyListenerEx(){ setTitle("Action 이벤트 리스너 예제"); setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); Container c=getContentPane(); c.setLayout(new FlowLayou..
자바의 JDK에서 여러 메소드를 모두 작성해야 하는 부담을 줄이기 위해 리스너 인터페이스를 미리 구현해 놓은 클래스를 제공하는데 이것이 바로 Adapter Class 라고 한다. 개발자들은 이벤트 리스너를 작성할 때, 리스너 인터페이스 대신 어댑터 클래스를 이용하는 것이 훨씬 편리하다. Adapter Class를 사용하지 않고 구현한 code import javax.swing.*; // JFrame import java.awt.*; // Container import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import java.awt.event.MouseEvent; import java.awt.event.MouseListene..
독립된 클래스로 Action 이벤트의 리스너 작성 코드 import javax.swing.*; // JFrame import java.awt.*; // Container import java.awt.event.ActionEvent; import java.awt.event.ActionListener; public class IndepClassListener extends JFrame{ public IndepClassListener() { setTitle("Action 이벤트 리스너 예제"); setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); Container c=getContentPane(); c.setLayout(new FlowLayout()); JButton btn=..

문제 링크 => 2848번: 알고스팟어 (acmicpc.net) 2848번: 알고스팟어 첫째 줄에 알고스팟어의 알파벳 순서를 출력한다. 만약, 올바른 순서가 없다면 "!"를, 가능한 순서가 한 개 이상이라면 "?"를 출력한다. www.acmicpc.net 위상정렬 문제이다. 알고스팟어의 알파벳 사전 순으로 정렬되어 있는 단어의 목록이 주어질 때, 알고스팟어의 알파벳을 순서대로 구해야 하는 문제이다. 접근 방법은 다음과 같다. 1. 문자열들의 모든 경우를 각각 2개씩 비교하면서 확실하게 알파벳의 순서가 변경되는 지점을 찾고 위상정렬을 위한 inDegree 세팅을 해준다. 알파벳의 순서가 변경되는 지점을 찾는 방법을 예제 입력 1 을 통해서 알아보도록 한다. s1 : ula, s2 : uka => s1[1]..

문제 링크 => 2637번: 장난감 조립 (acmicpc.net) 2637번: 장난감 조립 첫째 줄에는 자연수 N(3 ≤ N ≤ 100)이 주어지는데, 1부터 N-1까지는 기본 부품이나 중간 부품의 번호를 나타내고, N은 완제품의 번호를 나타낸다. 그리고 그 다음 줄에는 자연수 M(3 ≤ M ≤ 100)이 주 www.acmicpc.net 위상정렬 기본문제이다. 이 문제를 접근하기 위해 2차원 배열 result[x][y]를 설정하였다. (x번 부품에 대한 y번 부품의 갯수) 1. inDegree[x] == 0 이 되는 x는 기본 부품이며 기본 부품의 수를 1로 초기화 하고 기본 부품을 저장하도록 하는 벡터를 설정하여 push_back 해준다. => result[x][x] = 1 (x번 부품에 대한 x번 부..

문제 링크 => 11049번: 행렬 곱셈 순서 (acmicpc.net) 11049번: 행렬 곱셈 순서 첫째 줄에 입력으로 주어진 행렬을 곱하는데 필요한 곱셈 연산의 최솟값을 출력한다. 정답은 231-1 보다 작거나 같은 자연수이다. 또한, 최악의 순서로 연산해도 연산 횟수가 231-1보다 작거나 같 www.acmicpc.net 다이나믹 프로그래밍 문제이다. 많은 분들이 푼 문제이다 보니 꽤 유명한 문제인 것 같다. 이 문제는 행렬의 곱셈 연산 횟수의 최솟값을 찾는 문제이다. 이 문제를 base case와 그렇지 않은 경우를 함수 dp(int start, int end) 를 통해 먼저 살펴보도록 한다. (ABC 행렬이 있다고 가정할 때 start = 0, end = 2 를 의미함) 일단 memoziatio..