일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- kotlin
- 백준 3190번
- 백준 2467번 용액 자바 - 이분탐색
- 최소 힙 1927
- 백준 1806번 부분합 java
- 백준 1541
- dp
- Java
- 백준 1197번 최소 스패닝 트리 - java
- append
- toUpperCase
- Stack
- HashMap
- 백준 1043번 거짓말 - java 분리 집합
- StringBuilder
- 프로그래머스 자바
- 프로그래머스 java
- 집합 11723
- StringTokenizer
- mysql hy000 에러
- 백준 2473번 세 용액 - java
- 백준 1647번 도시 분할 계획 - java
- ac 5430번
- 코틀린기초
- HashSet
- map
- 18111번 마인크래프트 - java 구현
- hash
- replace()
- 프로그래머스
- Today
- Total
목록전체 글 (175)
말하는 컴공감자의 텃밭
공부허기 싫다~ 괄호 회전하기 먼저 괄호가 왼쪽으로 회전하기 때문에 1 2 3 42 3 4 13 4 1 2 이런식으로 변경을 해줘야 했다.큐를 써도 됐는데, 문제가 쉬워서 "아 그냥 후딱풀자~!"마인드라 오히려 돌아갔다..substring 활용해서 s = s.substring(1) + s.charAt(0); 로 회전시켜줬다. 123456789101112131415161718192021222324252627282930313233343536373839404142434445import java.io.*;import java.util.*; public class Solution { public i..
증가 배열 만들기 1,1 에서 시작해서 우측이나 아래쪽으로 쭉 오름차순 패턴을 띄는 배열을 만들면 된다.간단하게 i,j 로 생각해서 값을 넣어주었다. 1,1 1,2 1,32,1 2,2 2,33,1 3,2 3,3 이게 이미 증가 배열이잖아.i-j -1 값을 넣어주었다. 123456789101112131415161718192021222324252627282930313233343536373839import java.io.*;import java.util.*; public class Main { // S5 증가 배열 만들기 static StringBuilder&n..
빨리 골드문제 더 풀어야하는데,, 나무 자르기 상근 교수님.. 잘 계시죠..? 나무의 h 높이 이상 부분을 자른 부분을 상근이가 갖게되는데,이 자르는 높이의 최대값을 구해보는게 문제이다. 대충 나무가 이렇게 가지각색의 길이로 주어진다면 내가 자른 윗부분들의 합이 M이상이어야 한다.이분 탐색으로 저 높이를 찾아보자. 먼저 이분탐색을 low와 hight 또는 left right 등 최소와 최대를 두어주고, 그 가운데 mid 값을 조정하여값을 찾는 알고리즘이다.우리가 숫자 up & down 게임을 할때 1~100이라면 50부터 불러서 줄이는것과 같은 로직이다.만약 4가 정답이라면 1~100까지 하나하나 물어보는게 아닌100 ▶ 50 ▶ 25 ▶ 12 ▶ 6 ▶ 3 ▶ 4 이런식으로 7번만에 빠르게 찾아낼 수..
N과 M (4) 중복이 안되게, 앞수보다는 뒤 수가 더 크게 수열을 만들어 주면 된다.숫자 길이에 맞게 depth를 짜주고, start로 중복을 막아주어 수열을 뽑아내면 꿋. 12345678910111213141516171819202122232425262728293031323334import java.io.*;import java.util.*; public class Main { // S3 N과 M(3) static int N, M; static int[] arr; &n..
수 정렬하기 2 간단하게 sort 메서드로 정렬 1234567891011121314151617181920212223242526import java.io.*;import java.util.*; public class Main { // S5 수 정렬하기 2 public static void main(String[] args) throws IOException { BufferedReader br = ..
아픈동물 찾기 -- 아픈 동물의 아이디와 이름을 조회 해야하고, 아이디 순으로 정렬해야 함.-- 아이디 -> ANIMAL_ID, 이름 -> NAME-- 아픈 상태 조회 -> INTAKE_CONDITION : Sick-- SELECTANIMAL_ID, NAMEFROMANIMAL_INSWHEREINTAKE_CONDITION = "Sick"ORDER BY ANIMAL_ID ASC; ASC 는 디폴트 값, 역정렬 원하면 DESC최솟값 구하기 -- DATETIME 컬럼에서 가장 빠른값을 찾아야 함.-- MIN 사용SELECT MIN(DATETIME)FROMANIMAL_INS MIN 사용해서 최소값 찾아주기동물 수 구하기 -- 테이블 COUNT 함수 사용, ID 개수SELECT COUNT(ANIMAL_ID)FROM..
오랜만에 알고리즘이라 재활치료 시작합니다.. Boj 1620 나는야 포켓몬 마스터 이다솜 포켓몬 도감이 들어온다.1번 피카츄~2번 파이리~... 이후 숫자가 주어지면 해당 번호의 포켓몬이 무엇인지포켓몬 이름이 주어진다면 도감 번호가 무엇인지 출력해야한다.빠르게 Map 구조를 떠올려주고, 중복이 없으니 hash를 생각했다 다만 key로 value 조회는 수월하지만, value로 key를 찾는건 다소 비효율적이다. 12345678910111213141516171819202122232425262728293031323334353637383940414243import java.io.BufferedReader;import java.io.IOException;import java.io.I..
문제를 잘 읽어보자N의 병사를 갖고 있고, 상대방의 병사가 배열이 주어진다.상대방의 병사를 순서대로 만나고, 싸우면 내 병사는 N -= 상대 병사 수가 된다.여기서 아이템이 있는데, "무적권" 이라는게 있다. 상대방 병사가 몇명이던 그냥 넘어가게 되는데.이 무적권을 적당히 활용하면서 최대한 많은 라운드를 견뎌보자~ 결국 정리하면만나는 상대방들 중 가장 높은 병사들 수 에서 무적권을 사용해야한다. 바로 그리디가 생각났다. 일단 순차적으로 적들을 상대하므로, 무적권 수 만큼 큐에 담아준다.이후로 상대방을 만날때 마다 큐에 들어간 병사 개수에서 가장 적은 병사수와 비교하면서 큐에 담아준다면큐 내부에는 만나는 상대 병사들 중 가장 많은 병사들만 담기게 된다. 예를 들어 내 병사가 10명이고3 5 2 1 7 2..