일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- 코테
- Method
- Binary Search
- Counting
- java
- dynamic programming
- database
- sorting
- Tree
- two pointers
- geometry
- hash table
- Math
- Binary Tree
- simulation
- Number Theory
- implement
- 구현
- 파이썬
- string
- Data Structure
- SQL
- greedy
- array
- Stack
- 자바
- Matrix
- Class
- bit manipulation
- 코딩테스트
- Today
- Total
목록코딩테스트 풀이/JAVA (963)
코린이의 소소한 공부노트
1. 입력 - 총 다섯줄의 입력이 주어진다. 각 줄에는 최소 1개, 최대 15개의 글자들이 빈칸 없이 연속으로 주어진다. 주어지는 글자는 영어 대문자 ‘A’부터 ‘Z’, 영어 소문자 ‘a’부터 ‘z’, 숫자 ‘0’부터 ‘9’ 중 하나이다. 각 줄의 시작과 마지막에 빈칸은 없다. 2. 출력 - 5개의 단어를 세로로 읽은 순서대로 글자들을 출력한다. 이때, 글자들을 공백 없이 연속해서 출력한다. 3. 예제 4. 코드 import java.util.*; import java.io.*; class Main { public static void main(String[] args) throws IOException { BufferedReader br = new BufferedReader(new InputStream..
그룹 단어란 단어에 존재하는 모든 문자에 대해서, 각 문자가 연속해서 나타나는 경우만을 말한다. 예를 들면, ccazzzzbb는 c, a, z, b가 모두 연속해서 나타나고, kin도 k, i, n이 연속해서 나타나기 때문에 그룹 단어이지만, aabbbccb는 b가 떨어져서 나타나기 때문에 그룹 단어가 아니다. 1. 입력 - 첫째 줄에 단어의 개수 N이 들어온다. N은 100보다 작거나 같은 자연수이다. - 둘째 줄부터 N개의 줄에 단어가 들어온다. 단어는 알파벳 소문자로만 되어있고 중복되지 않으며, 길이는 최대 100이다. 2. 출력 - 첫째 줄에 그룹 단어의 개수를 출력한다. 3. 예제 4. 코드 import java.io.*; import java.util.*; class Main { public ..
평소 반상회에 참석하는 것을 좋아하는 주희는 이번 기회에 부녀회장이 되고 싶어 각 층의 사람들을 불러 모아 반상회를 주최하려고 한다. 이 아파트에 거주를 하려면 조건이 있는데, “a층의 b호에 살려면 자신의 아래(a-1)층의 1호부터 b호까지 사람들의 수의 합만큼 사람들을 데려와 살아야 한다” 는 계약 조항을 꼭 지키고 들어와야 한다. 아파트에 비어있는 집은 없고 모든 거주민들이 이 계약 조건을 지키고 왔다고 가정했을 때, 주어지는 양의 정수 k와 n에 대해 k층에 n호에는 몇 명이 살고 있는지 출력하라. 단, 아파트에는 0층부터 있고 각층에는 1호부터 있으며, 0층의 i호에는 i명이 산다. 1. 입력 - 첫 번째 줄에 Test case의 수 T가 주어진다. 그리고 각각의 케이스마다 입력으로 첫 번째 줄..
정수 4를 1, 2, 3의 합으로 나타내는 방법은 총 7가지가 있다. 합을 나타낼 때는 수를 1개 이상 사용해야 한다. 1+1+1+1 1+1+2 1+2+1 2+1+1 2+2 1+3 3+1 1. 입력 - 첫째 줄에 테스트 케이스의 개수 T가 주어진다. 각 테스트 케이스는 한 줄로 이루어져 있고, 정수 n이 주어진다. - n은 양수이며 11보다 작다. 2. 출력 - 각 테스트 케이스마다, n을 1, 2, 3의 합으로 나타내는 방법의 수를 출력한다. 3. 코드 import java.io.*; class Main { public static void main(String[] args) throws IOException { BufferedReader br = new BufferedReader(new InputSt..
1. Input 1) TreeNode root 2. Output 1) root를 중위순회한 결과를 담은 리스트를 반환 3. Constraint 1) root의 노드의 개수는 [0, 100] 2) -100
1. Input 1) int n 2. Output 1) 한 번에 1계단 또는 2계단씩 올라갈 경우, n계단을 올라갈 수 있는 모든 방법의 수를 반환 3. Constraint 1) 1 2){ int[] step = new int[n]; step[0] = 1; step[1] = 2; for(int i=2 ; i
1. Input 1) String a 2) String b 2. Output 1) 2진수를 담은 문자열 a,b의 합을 2진수 문자열로 반환 3. Constraint 1) 1 =0 || bi>=0){ int sum = carry; if(ai>=0) sum += a.charAt(ai--)=='1' ? 1 : 0; if(bi>=0) sum += b.charAt(bi--)=='1' ? 1 : 0; carry = sum/2; st.push(sum%2); } if(carry==1) st.push(1); StringBuilder sb = new StringBuilder(); while(!st.empty()) sb.append(st.pop()); return sb.toString(); } } - 스택을 이용하지 않고 ..
1. Input, Output, Example 로봇 강아지의 산책은 명령에 따라 진행한다. 로봇 강아지는 명령을 수행하기 전에 다음 두 가지를 먼저 확인한다. // 주어진 방향으로 이동할 때 공원을 벗어나는가? // 주어진 방향으로 이동 중 장애물을 만나는가? 위 두 가지중 어느 하나라도 해당된다면, 로봇 강아지는 해당 명령을 무시하고 다음 명령을 수행한다. - 로봇 강아지가 모든 명령을 수행 후 놓인 위치를 [세로 방향 좌표, 가로 방향 좌표] 순으로 배열에 담아 반환 2. Constraint 1) 공원의 가로 길이가 W, 세로 길이가 H라고 할 때, 공원의 좌측 상단의 좌표는 (0, 0), 우측 하단의 좌표는 (H - 1, W - 1)이다. 2) 3 ≤ park의 길이 ≤ 50 3) 3 ≤ park[..
1. Input, Output, Example 사진들을 보며 추억에 젖어 있던 루는 사진별로 추억 점수를 매길려고 한다. 사진 속에 나오는 인물의 그리움 점수를 모두 합산한 값이 해당 사진의 추억 점수가 된다. // 예를 들어 사진 속 인물의 이름이 ["may", "kein", "kain"]이고 각 인물의 그리움 점수가 [5점, 10점, 1점]일 때 해당 사진의 추억 점수는 16(5 + 10 + 1)점이 된다. // name에 이름이 없는 사람은 0점이다. - 사진들의 추억 점수를 photo에 주어진 순서대로 배열에 담아 반환 2. Constraint 1) 3 ≤ name의 길이 = yearning의 길이≤ 100 2) 3 ≤ name의 원소의 길이 ≤ 7 3) 1 ≤ yearning[i] ≤ 100 4..