일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
- simulation
- 자바
- dynamic programming
- geometry
- Matrix
- Stack
- java
- database
- 구현
- Binary Tree
- two pointers
- 파이썬
- Data Structure
- 코테
- Math
- implement
- Tree
- greedy
- 코딩테스트
- Number Theory
- Class
- hash table
- string
- Counting
- Binary Search
- array
- SQL
- Method
- bit manipulation
- sorting
- Today
- Total
목록구현 (19)
코린이의 소소한 공부노트
- 입력: 첫째 줄에 알파벳 대문자로 이루어진 단어가 주어진다. 단어의 길이는 2보다 크거나 같고, 15보다 작거나 같다. - 출력: 첫째 줄에 다이얼을 걸기 위해서 필요한 최소 시간을 출력한다. // 숫자 1을 걸려면 총 2초가 필요하다. 1보다 큰 수를 거는데 걸리는 시간은 이보다 더 걸리며, 한 칸 옆에 있는 숫자를 걸기 위해선 1초씩 더 걸린다. // 상근이의 할머니는 전화 번호를 각 숫자에 해당하는 문자로 외운다. 즉, 어떤 단어를 걸 때, 각 알파벳에 해당하는 숫자를 걸면 된다. 예를 들어, WA는 92와 같다. import java.io.*; class Main { public static void main(String[] args) throws IOException { BufferedRea..
- 입력: 첫째 줄에 상근이가 칠판에 적은 두 수 A와 B가 주어진다. 두 수는 같지 않은 세 자리 수이며, 0이 포함되어 있지 않다. - 출력: 첫째 줄에 상수의 대답을 출력한다. // 상수는 수를 다른 사람과 다르게 거꾸로 읽는다. // 예를 들어, 734와 893을 칠판에 적었다면, 상수는 이 수를 437과 398로 읽는다. // 따라서, 상수는 두 수중 큰 수인 437을 큰 수라고 말할 것이다. import java.util.*; class Main{ public static void main(String[] args){ Scanner scan = new Scanner(System.in); char[] a = scan.next().toCharArray(), b = scan.next().toChar..
- 입력: 첫 줄에 영어 대소문자와 공백으로 이루어진 문자열이 주어진다. 이 문자열의 길이는 1,000,000을 넘지 않는다. 단어는 공백 한 개로 구분되며, 공백이 연속해서 나오는 경우는 없다. 또한 문자열은 공백으로 시작하거나 끝날 수 있다. - 출력: 첫째 줄에 단어의 개수를 출력한다. import java.io.*; class Main { public static void main(String[] args) throws IOException { BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); String input = br.readLine().trim(); if(input.equals("")) System.out...
- 입력: 첫째 줄에 알파벳 대소문자로 이루어진 단어가 주어진다. 주어지는 단어의 길이는 1,000,000을 넘지 않는다. - 출력: 첫째 줄에 이 단어에서 가장 많이 사용된 알파벳을 대문자로 출력한다. 단, 가장 많이 사용된 알파벳이 여러 개 존재하는 경우에는 ?를 출력한다. import java.io.*; class Main { public static void main(String[] args) throws IOException { BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); char[] input = br.readLine().toUpperCase().toCharArray(); int[] count = new i..
- 입력: 첫째 줄에 테스트 케이스의 개수 T(1 ≤ T ≤ 1,000)가 주어진다. 각 테스트 케이스는 반복 횟수 R(1 ≤ R ≤ 8), 문자열 S가 공백으로 구분되어 주어진다. S의 길이는 적어도 1이며, 20글자를 넘지 않는다. - 출력: 각 테스트 케이스에 대해 P를 출력한다. // 문자열 S를 입력받은 후에 첫 번째 문자를 R번 반복하고, 두 번째 문자를 R번 반복하는 식으로 P를 만들면 된다. import java.util.*; import java.io.*; class Main { public static void main(String[] args) throws IOException { BufferedReader br = new BufferedReader(new InputStreamRead..
- 입력: 첫째 줄에 단어 S가 주어진다. 단어의 길이는 100을 넘지 않으며, 알파벳 소문자로만 이루어져 있다. - 출력: 각각의 알파벳에 대해서, a가 처음 등장하는 위치, b가 처음 등장하는 위치, ... z가 처음 등장하는 위치를 공백으로 구분해서 출력한다. 만약, 어떤 알파벳이 단어에 포함되어 있지 않다면 -1을 출력한다. 단어의 첫 번째 글자는 0번째 위치이고, 두 번째 글자는 1번째 위치이다. import java.io.*; class Main { public static void main(String[] args) throws IOException { BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); Buff..
- 입력: 첫째 줄에 숫자의 개수 N (1 ≤ N ≤ 100)이 주어진다. 둘째 줄에 숫자 N개가 공백없이 주어진다. - 출력: 입력으로 주어진 숫자 N개의 합을 출력한다. import java.io.*; class Main { public static void main(String[] args) throws IOException { BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); int n = Integer.valueOf(br.readLine()), sum = (-48)*n; char[] input = br.readLine().toCharArray(); for(int i=0 ; i
- 입력: 알파벳 소문자, 대문자, 숫자 0-9 중 하나가 첫째 줄에 주어진다. - 출력: 입력으로 주어진 글자의 아스키 코드 값을 출력한다. import java.util.*; class Main{ public static void main(String[] args){ Scanner scan = new Scanner(System.in); String input = scan.next(); System.out.println((int)input.charAt(0)); } }
1/1 1/2 1/3 1/4 1/5 … 2/1 2/2 2/3 2/4 … … 3/1 3/2 3/3 … … … 4/1 4/2 … … … … 5/1 … … … … … … … … … … … - 입력: 첫째 줄에 X(1 ≤ X ≤ 10,000,000)가 주어진다. - 출력: 첫째 줄에 X번째 분수를 출력한다. // 표에 있는 분수들을 1/1 → 1/2 → 2/1 → 3/1 → 2/2 → 1/3 → … 과 같은 지그재그 순서로 차례대로 나열한다고 하면 2/1은 3번째 분수이다. import java.util.*; class Main{ public static void main(String[] args){ Scanner scan = new Scanner(System.in); int n = scan.nextInt(),..