일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- string
- 코테
- 파이썬
- Counting
- 코딩테스트
- two pointers
- Binary Tree
- bit manipulation
- database
- sorting
- Number Theory
- 자바
- Matrix
- greedy
- Class
- 구현
- geometry
- Binary Search
- implement
- Math
- dynamic programming
- array
- Data Structure
- Method
- java
- simulation
- Tree
- hash table
- Stack
- SQL
- Today
- Total
목록string (235)
코린이의 소소한 공부노트
1. 입력 - 첫째 줄에 듣도 못한 사람의 수 N, 보도 못한 사람의 수 M이 주어진다. - 둘째 줄부터 N개의 줄에 걸쳐 듣도 못한 사람의 이름과, N+2째 줄부터 M개의 줄에 걸쳐 보도 못한 사람의 이름이 순서대로 주어진다. - 이름은 띄어쓰기 없이 알파벳 소문자로만 이루어지며, 그 길이는 20 이하이다. - N, M은 500,000 이하의 자연수이다. - 듣도 못한 사람의 명단에는 중복되는 이름이 없으며, 보도 못한 사람의 명단도 마찬가지이다. 2. 출력 - 듣보잡의 수와 그 명단을 사전순으로 출력한다. 3. 코드 import java.util.*; import java.io.*; class Main { public static void main(String[] args) throws IOExcep..
1. 입력 - 20줄에 걸쳐 치훈이가 수강한 전공과목의 과목명, 학점, 등급이 공백으로 구분되어 주어진다. - 1 ≤ 과목명의 길이 ≤ 50 - 과목명은 알파벳 대소문자 또는 숫자로만 이루어져 있으며, 띄어쓰기 없이 주어진다. - 입력으로 주어지는 모든 과목명은 서로 다르다. - 학점은 1.0,2.0,3.0,4.0중 하나이다. - 등급은 A+,A0,B+,B0,C+,C0,D+,D0,F,P중 하나이다. - 적어도 한 과목은 등급이 P가 아님이 보장된다. 2. 출력 - 치훈이의 전공평점을 출력한다. - 전공평점은 전공과목별 (학점 × 과목평점)의 합을 학점의 총합으로 나눈 값이다. - 등급이 P인 과목은 계산에서 제외한다. - 정답과의 절대오차 또는 상대오차가 10^{-4} 이하이면 정답으로 인정한다. 3. ..
1. 입력 - 첫째 줄에 최대 100글자의 단어가 주어진다. 알파벳 소문자와 '-', '='로만 이루어져 있다. - 단어는 크로아티아 알파벳으로 이루어져 있다. 표에 나와있는 알파벳은 변경된 형태로 입력된다. 표에 없는 알파벳은 한 글자씩 센다. 2. 출력 - 입력으로 주어진 단어가 몇 개의 크로아티아 알파벳으로 이루어져 있는지 출력한다. 3. 코드 import java.io.*; class Main { public static void main(String[] args) throws IOException { BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); String word = br.readLine(); String[..
1. Input 1) String time 2. Output 1) time의 ?을 숫자로 바꿨을 때 가장 늦은 시간을 나타내는 문자열을 반환 3. Constraint 1) time은 00:00부터 23:59까지의 시간을 나타내는 문자열이다. 2) 항상 유효한 답이 있다는 것이 보장된다. 4. Example Input: time = "2?:?0" -> Output: "23:50" Input: time = "0?:3?" -> Output: "09:39" 5. Code 1) 첫 코드(2023/04/16) char[] t = time.toCharArray(); if(t[0]=='?'){ if(t[1]=='?'){ t[0] = '2'; t[1] = '3'; } else if(t[1]
1. Input 1) String number 2. Output 1) 다음 규칙에 따라 재배열한 전화번호를 반환 - number에 있는 공백과 대쉬(-)를 지운다. - 앞에서부터 숫자를 3개씩 끊어서 대쉬로 구분짓는다. - 숫자가 4개 이하가 남으면 아래와 같이 처리한다. 2~3개: 묶음으로 처리 4개: 2개/2개로 나눠서 대쉬로 구분짓는다. 3. Constraint 1) 2 Output: "123-45-67" Input: number = "123 4-5678" -> Output: "123-456-78" 5. Code 1) 첫 코드(2023/04/16) number = number.replaceAll("[-\\s]",""); int i = 0; String answer = ""; while(i
1. Input 1) String[] logs - 폴더 이동에 대한 연산자가 담겨 있다. 2. Output 1) 아래 규칙에 따라 폴더를 이동하고 난 후, 해당 위치에서 main까지 가는데 필요한 최소 이동횟수를 반환 - ../ : 상위 폴더로 이동. 이미 main이라면 움직이지 않는다. - ./ : 이동하지 않는다. - x/ : 하위 폴더 중 이름이 x인 폴더로 이동한다. 이 연산이 시행될 때 폴더 x는 반드시 존재한다. 3. Constraint 1) 1
1. Input 1) String text 2. Output 1) text에 있는 모든 공백을 단어 사이에 동일하게 재배열한 결과를 반환 - 단어는 최소 1개의 공백 문자로 구분되어 있다. - 공백이 남을 경우 맨 뒤에 붙인다. 이 말인 즉슨 반환되는 문자열은 text와 길이가 같다는 것이다. 3. Constraint 1) 1
1. Input 1) String s 2. Output 1) 다음 조건을 만족하면서 s에 있는 ?를 다른 영어 소문자로 바꾼 결과를 반환 - ?은 인접한 문자와 같은 것으로 바꿀 수 없다. - ? 이외의 문자는 바꿀 수 없다. 3. Constraint 1) 1
1. Input 1) int n 2. Output 1) 3자리마다 점(.)을 찍은 문자열을 반환 3. Constraint 1) 0 Output: "987" 5. Code 1) 첫 코드(2023/04/12) String answer = ""; if(n>0){ Stack s = new Stack(); int count = 0; while(n>0){ if(count=1000){ Stack s = new Stack(); int count = 0; while(n>0){ if(count3){ s.push("."+num.substring(num.length()-3,num.length())); num = num.substring(0,num.length()-3); } String answer = num; while(!s..