자바 203

[JAVA] 백준 17413번- 단어 뒤집기2

https://www.acmicpc.net/problem/17413 17413번: 단어 뒤집기 2 문자열 S가 주어졌을 때, 이 문자열에서 단어만 뒤집으려고 한다. 먼저, 문자열 S는 아래와과 같은 규칙을 지킨다. 알파벳 소문자('a'-'z'), 숫자('0'-'9'), 공백(' '), 특수 문자('')로만 이루어져 www.acmicpc.net import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java.util.*; public class Main { public static void main(String[] args) { Scanner sc = new Scanner(System..

ALGORITHM 2022.07.21

[JAVA] 인터페이스를 이용한 이벤트 처리 기능

class Button{ OnClickListener ocl; // ocl 필드는 OnClickListener 인터페이스의 타입 void setOnClickListener(OnClickListener ocl){ // 인터페이스 객체를 입력매개변수로 넘겨받음 this.ocl=ocl; // 필드를 초기화 } interface OnClickListener { public abstract void onClick(); } void onClick(){ ocl.onClick(); // 초기화된 필드 객체 내부의 onClick() 메서드를 실행 } } public class ButtonApiExample { public static void main(String[] args) { Button btn1=new Butto..

BACK/JAVA 2022.07.21

[JAVA] 백준 2675번- 문자열 반복

https://www.acmicpc.net/problem/2675 2675번: 문자열 반복 문자열 S를 입력받은 후에, 각 문자를 R번 반복해 새 문자열 P를 만든 후 출력하는 프로그램을 작성하시오. 즉, 첫 번째 문자를 R번 반복하고, 두 번째 문자를 R번 반복하는 식으로 P를 만들면 된다 www.acmicpc.net 쉬운 문제지만 Scanner와 BufferedReader를 정리하기 위해 작성한다. Scanner import java.util.*; public class Main { public static void main(String[] args) { Scanner sc = new Scanner(System.in); int t=sc.nextInt(); for(int i=0; i

ALGORITHM 2022.07.20

[JAVA] 백준 11899번- 괄호 끼워넣기

https://www.acmicpc.net/problem/11899 11899번: 괄호 끼워넣기 첫 번째 줄에 S를 올바른 괄호열으로 만들기 위해 앞과 뒤에 붙여야 할 괄호의 최소 개수를 출력합니다. 불가능한 경우는 주어지지 않습니다. www.acmicpc.net import java.util.*; public class Main { public static void main(String[] args) { Scanner sc = new Scanner(System.in); String str = sc.next(); Stack stack = new Stack(); int answer = 0; for (char x : str.toCharArray()) { if (x == ')') { if(!stack.isEm..

ALGORITHM 2022.07.20

[JAVA] 백준 1935번- 후위 표기식2

https://www.acmicpc.net/problem/1935 1935번: 후위 표기식2 첫째 줄에 피연산자의 개수(1 ≤ N ≤ 26) 가 주어진다. 그리고 둘째 줄에는 후위 표기식이 주어진다. (여기서 피연산자는 A~Z의 영대문자이며, A부터 순서대로 N개의 영대문자만이 사용되며, 길이 www.acmicpc.net import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java.util.HashMap; import java.util.Stack; public class Main{ public static void main(String[] args) throws IOExcepti..

ALGORITHM 2022.07.19

[JAVA] 백준 10809번- 알파벳 찾기

https://www.acmicpc.net/problem/10809 10809번: 알파벳 찾기 각각의 알파벳에 대해서, a가 처음 등장하는 위치, b가 처음 등장하는 위치, ... z가 처음 등장하는 위치를 공백으로 구분해서 출력한다. 만약, 어떤 알파벳이 단어에 포함되어 있지 않다면 -1을 출 www.acmicpc.net import java.util.Arrays; import java.util.Scanner; public class Main{ public static void main(String[] args) { Scanner sc=new Scanner(System.in); String s = sc.next(); int[] arr=new int[26]; Arrays.fill(arr, -1); for..

ALGORITHM 2022.07.18

[JAVA] 백준 18258번- 큐2

https://www.acmicpc.net/problem/18258 18258번: 큐 2 첫째 줄에 주어지는 명령의 수 N (1 ≤ N ≤ 2,000,000)이 주어진다. 둘째 줄부터 N개의 줄에는 명령이 하나씩 주어진다. 주어지는 정수는 1보다 크거나 같고, 100,000보다 작거나 같다. 문제에 나와있지 www.acmicpc.net import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java.util.Deque; import java.util.LinkedList; import java.util.StringTokenizer; public class Main{ public sta..

ALGORITHM 2022.07.18

[JAVA] 백준 20920번- 영단어 암기는 괴로워

https://www.acmicpc.net/problem/20920 20920번: 영단어 암기는 괴로워 첫째 줄에는 영어 지문에 나오는 단어의 개수 $N$과 외울 단어의 길이 기준이 되는 $M$이 공백으로 구분되어 주어진다. ($1 \leq N \leq 100\,000$, $1 \leq M \leq 10$) 둘째 줄부터 $N+1$번째 줄까지 외울 단 www.acmicpc.net import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java.util.HashMap; import java.util.List; import java.util.Map; import java.util.Stri..

ALGORITHM 2022.07.17