일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- geometry
- simulation
- Counting
- Binary Search
- 구현
- bit manipulation
- Tree
- 자바
- Stack
- implement
- SQL
- hash table
- two pointers
- 코테
- greedy
- Number Theory
- dynamic programming
- string
- sorting
- java
- Binary Tree
- 코딩테스트
- Class
- Method
- 파이썬
- Data Structure
- array
- Math
- Matrix
- database
- Today
- Total
목록코딩테스트 풀이 (994)
코린이의 소소한 공부노트
화은이는 이번 영어 시험에서 틀린 문제를 바탕으로 영어 단어 암기를 하려고 한다. 그 과정에서 효율적으로 영어 단어를 외우기 위해 영어 단어장을 만들려 하고 있다. 화은이가 만들고자 하는 단어장의 단어 순서는 다음과 같은 우선순위를 차례로 적용하여 만들어진다. (1) 자주 나오는 단어일수록 앞에 배치한다. (2) 해당 단어의 길이가 길수록 앞에 배치한다. (3) 알파벳 사전 순으로 앞에 있는 단어일수록 앞에 배치한다 M보다 짧은 길이의 단어의 경우 읽는 것만으로도 외울 수 있기 때문에 길이가 M이상인 단어들만 외운다고 한다. 화은이가 괴로운 영단어 암기를 효율적으로 할 수 있도록 단어장을 만들어 주자. 1. 입력 - 첫째 줄에는 영어 지문에 나오는 단어의 개수 N과 외울 단어의 길이 기준이 되는 M이 공..
온라인 저지에 가입한 사람들의 나이와 이름이 가입한 순서대로 주어진다. 이때, 회원들을 나이가 증가하는 순으로, 나이가 같으면 먼저 가입한 사람이 앞에 오는 순서로 정렬하는 프로그램을 작성하시오. 1. 입력 - 첫째 줄에 온라인 저지 회원의 수 N이 주어진다. (1 ≤ N ≤ 100,000) - 둘째 줄부터 N개의 줄에는 각 회원의 나이와 이름이 공백으로 구분되어 주어진다. 나이는 1보다 크거나 같으며, 200보다 작거나 같은 정수이고, 이름은 알파벳 대소문자로 이루어져 있고, 길이가 100보다 작거나 같은 문자열이다. - 입력은 가입한 순서로 주어진다. 2. 출력 - 첫째 줄부터 총 N개의 줄에 걸쳐 온라인 저지 회원을 나이 순, 나이가 같으면 가입한 순으로 한 줄에 한 명씩 나이와 이름을 공백으로 구..
2차원 평면 위의 점 N개가 주어진다. 좌표를 y좌표가 증가하는 순으로, y좌표가 같으면 x좌표가 증가하는 순서로 정렬한 다음 출력하는 프로그램을 작성하시오. 1. 입력 - 첫째 줄에 점의 개수 N (1 ≤ N ≤ 100,000)이 주어진다. - 둘째 줄부터 N개의 줄에는 i번점의 위치 xi와 yi가 주어진다. (-100,000 ≤ xi, yi ≤ 100,000) - 좌표는 항상 정수이고, 위치가 같은 두 점은 없다. 2. 출력 - 첫째 줄부터 N개의 줄에 점을 정렬한 결과를 출력한다. 3. 예제 4. 코드 import java.io.*; import java.util.*; class Main{ public static void main(String[] args) throws IOException{ Bu..
2차원 평면 위의 점 N개가 주어진다. 좌표를 x좌표가 증가하는 순으로, x좌표가 같으면 y좌표가 증가하는 순서로 정렬한 다음 출력하는 프로그램을 작성하시오. 1. 입력 - 첫째 줄에 점의 개수 N (1 ≤ N ≤ 100,000)이 주어진다. - 둘째 줄부터 N개의 줄에는 i번점의 위치 xi와 yi가 주어진다. (-100,000 ≤ xi, yi ≤ 100,000) - 좌표는 항상 정수이고, 위치가 같은 두 점은 없다. 2. 출력 - 첫째 줄부터 N개의 줄에 점을 정렬한 결과를 출력한다. 3. 예제 4. 코드 import java.io.*; import java.util.*; class Main{ public static void main(String[] args) throws IOException{ Bu..
1. Input 1) int[] height - height[i] == i번째 위치의 벽의 높이 - 벽의 간격과 두께는 모두 1이다. 2. Output 1) 두 벽을 골라 물을 채울 때 가장 많이 채울 수 있는 물의 양을 반환 3. Constraint 1) n == height.length 2) 2
1. Input 1) int[] nums 2. Output 1) nums의 부분 배열에서 요소 1개를 삭제했을 때 1로만 이루어진 가장 긴 부분 배열의 길이를 반환 2) 그런 배열이 없다면 0을 반환 3. Constraint 1) 1 Output: 5 Input: nums = [1,1,1] -> Output: 2 설명: - [0, 3] 구간의 부분 배열에서 2번째를 삭제하면 [1,1,1]이 된다. - [1, 6] 구간의 부분 배열에서 4번째를 삭제하면 [1,1,1,1,1]이 된다. - [0, 2] 구간의 부분 배열에서 아무거나 1개 삭제하면 [1,1]이 된다. 5. Code class Solution { public int longestSubarray(int[] nums) { int max = 0; fo..
1. Input 1) String s 2. Output 1) s의 부분 문자열 중에서 같은 문자가 없는 가장 긴 부분 문자열의 길이를 반환 3. Constraint 1) 0 Output: 1 Input: s = "pwwkew" -> Output: 3 5. Code 1) 첫 코드 import java.util.*; class Solution { public int lengthOfLongestSubstring(String s) { int answer = 0; for(int i=0 ; i
1. Input 1) ListNode l1 - 첫 번째 숫자를 일의자리부터 거꾸로 나타낸 ListNode 2) ListNode l2 - 두 번째 숫자를 일의자리부터 거꾸로 나타낸 ListNode 2. Output 1) 첫 번째 숫자와 두 번째 숫자의 합을 일의자리부터 거꾸로 나타낸 ListNode를 반환 3. Constraint 1) 각 linked list의 노드 수의 범위는 [1, 100]이다. 2) 0 Output: [8,9,9,9,0,0,0,1] 설명: - 342 + 465 = 807 - 9,999,999 + 9,999 = 10,009,998 5. Code /** * Definition for singly-linked list. * public class ListNode { * int val; *..
1 2 3 4 12 13 14 5 11 16 15 6 10 9 8 7 1. Input, Output, Example - n × n 배열에 1부터 n^2 까지 정수를 인덱스 [0][0]부터 시계방향 나선형으로 배치한 이차원 배열을 반환 2. Constraint 1) 1 ≤ n ≤ 30 3. Code class Solution { public int[][] solution(int n) { int[][] ans = new int[n][n]; int number = 1, x = 0, y = 0, change = 0; while(number
게임개발자인 "죠르디"는 크레인 인형뽑기 기계를 모바일 게임으로 만들려고 한다. "죠르디"는 게임의 재미를 높이기 위해 화면 구성과 규칙을 다음과 같이 게임 로직에 반영하려고 한다. 게임 화면은 "1 x 1" 크기의 칸들로 이루어진 "N x N" 크기의 정사각 격자이며 위쪽에는 크레인이 있고 오른쪽에는 바구니가 있다. 각 격자 칸에는 다양한 인형이 들어 있으며 인형이 없는 칸은 빈칸이다. 모든 인형은 "1 x 1" 크기의 격자 한 칸을 차지하며 격자의 가장 아래 칸부터 차곡차곡 쌓여 있다. 게임 사용자는 크레인을 좌우로 움직여서 멈춘 위치에서 가장 위에 있는 인형을 집어 올릴 수 있다. 집어 올린 인형은 바구니에 쌓이게 되는 데, 이때 바구니의 가장 아래 칸부터 인형이 순서대로 쌓이게 된다. 다음 그림은..