문제보러가기 코딩테스트 연습 - 소수 찾기 한자리 숫자가 적힌 종이 조각이 흩어져있습니다. 흩어진 종이 조각을 붙여 소수를 몇 개 만들 수 있는지 알아내려 합니다. 각 종이 조각에 적힌 숫자가 적힌 문자열 numbers가 주어졌을 때, 종이 � programmers.co.kr 이문제는 완전 탐색 문제로 주어진 숫자로 만들 수 있는 모든 문자 중에 소수를 찾는 문제였다. 숫자로 순열을 만드는 코드를 작성할 수 있다면 쉽게 풀 수 있었던 문제인 거 같다. (물론 나는 순열 코드를 고치고 결국 참고하고...ㅎ) 공부할게 역시 엄청나게 많구나를 느낀 문제였다 ㅎ... -참고한 순열 코드 & 설명 import java.util.HashSet; import java.util.stream.Stream; class S..
문제보러가기 코딩테스트 연습 - 이중우선순위큐 programmers.co.kr 이문제는 maxHeap큐와 minHeap큐를 이용해서 간단하게 풀 수 있었다. 진짜 어이없게도 큐에서 값을 제거할때 객체로 접근하여 해당하는 큐의 값을 제거하는게 되는지 까먹었다는... 후 열심히 해야겠다! 문제풀이 -maxHeap과 minHeap을 PriorityQueue 2개로 구현한다. -주어진 배열에서 공백을 기준으로 split한 값을 배열에 넣는다. -s[0]으로 D, I 를 구분하여 수행한다. -I의 경우 maxHeap과 minHeap 둘다 add해준다. -D 1일경우 maxHeap에서 poll하고 그 값으로 minHeap에서 찾아 remove해준다. -D -1일경우는 위의 과정을 반대로 해준다. import jav..
힙관련 알고리즘 문제를 풀어보며 Heap에 대해 정확히 이해하고 넘어가자! 해서 정리하고자 한다. 힙(Heap) 자료구조에서 가장 큰 값, 작은 값 등을 빠르게 찾아내기 위한 Heap구조가 있다. 완전 이진 트리로 구성되었다. 이 Heap구조는 우선순위를 부여하여 가장 우선 순위가 높은 값부터 제거하는 우선순위 큐 를 구현하는 데 가장많이 쓰인다. Heap구조는 부모노드와 자식노드의 순서에만 관여하고 형제노드끼리의 순서와는 상관이 없다! 기본적으로 root 노드의 값이 가장 큰 MaxHeap과 root노드의 값이 가장 작은 MinHeap이 있다. 우선 트리의 구성방식을 보자! root노드는 0인덱스가 아닌 1인덱스를 베이스로 한다. 왼쪽 자식노드 : 부모노드 * 2 오른쪽 자식노드 : 부모노드 * 2 +..
문제보러가기 코딩테스트 연습 - 디스크 컨트롤러 하드디스크는 한 번에 하나의 작업만 수행할 수 있습니다. 디스크 컨트롤러를 구현하는 방법은 여러 가지가 있습니다. 가장 일반적인 방법은 요청이 들어온 순서대로 처리하는 것입니다. 예를�� programmers.co.kr 이문제는 작업 수행 시 어떤 순서로 진행을 해야 하는가를 계산하는 문제이다. 작업할 수 있는 시간에 요청이 들어와 있는 작업 중 수행 시간이 짧은 작업을 선택하여 먼저 실행하면 되는 문제였다. 처음에는 간단하다고 생각했는데 문제를 잘 읽어봐야 한다 역시... 요청 시간 순으로 jobs배열이 구성된다는 내용은 어디에도 없었다 ㅎ,, 문제풀이 -모든 작업을 수행할 때까지 cnt 카운트를 진행한다. -time은 계속 흘러가고 time==jobs ..
문제보러가기 코딩테스트 연습 - 라면공장 라면 공장에서는 하루에 밀가루를 1톤씩 사용합니다. 원래 밀가루를 공급받던 공장의 고장으로 앞으로 k일 이후에야 밀가루를 공급받을 수 있기 때문에 해외 공장에서 밀가루를 수입해야 합니�� programmers.co.kr 이문제는 힙 알고리즘에 속해 있는 문제이다. 처음 이문제를 봤을 때는 띠용..? 이걸 힙으로 왜 어떻게 접근하지?라고 생각했다 힙에 속해있는지 몰랐다면 탐색 방법으로 풀었을 것 같다. 이문제는 우선순위 큐를 이용하여 풀었다. 접근방식을 떠올리게 되면 구현 자체는 크게 어렵지 않은 문제였으나,힙에 대한 지식, 관련 문제를 많이 접해보지 못한 경우(바로 나 같은..) 헤맬 수 있는 문제였다. 이참에 힙을 시작하여 자료구조를 다시 공부해야겠다고 다짐한 ..
DBMS에서 많이 쓰이는 oracle과 mysql에는 기본적으로 비슷하지만 다른 부분이 있다. 그중에서 mysql에서 사용되는 limit이 oracle에서는 rownum으로 비슷하게 쿼리를 다룰 수 있게 한다. limit, rownum의 사용법은 반환하는 쿼리의 수를 제한해서 볼 수 있게 하는 것이다. top-n을 확인하는 쿼리에 많이 쓰이게 된다! MySQL limit mysql limit은 0-based 인덱스를 사용하므로 limit 5,10을 하면 6번째행부터 읽어오게 된다. //결과테이블에서 5개행을 읽어온다 SELECT * FROM [TABLE NAME] LIMIT 5; //결과테이블에서 6번째부터 10개행을 읽어온다 SELECT * FROM [TABLE NAME] LIMIT 5, 10; Ora..
문제보러가기 17140번: 이차원 배열과 연산 첫째 줄에 r, c, k가 주어진다. (1 ≤ r, c, k ≤ 100) 둘째 줄부터 3개의 줄에 배열 A에 들어있는 수가 주어진다. 배열 A에 들어있는 수는 100보다 작거나 같은 자연수이다. www.acmicpc.net 이문제는 주어진 조건으로 행,열 각각 정렬을 할 수 있는지 말그대로 이차원 배열의 연산을 진행할 수 있는지를 묻는 문제였던거같다. 바보같이 package를 지우지 않는 실수를... 런타임에러가 나길래 배열만 뜯어보고 있었다.. 하하... 문제풀이 -rCnt , cCnt를 갱신하며 rSort를 진행할지 cSort를 진행할지 체크한다 -각 행마다, 혹은 각 열마다 HashMap을 통해 숫자를 key로 나타난갯수를 value로 카운트해준다 -각..
문제보러가기 코딩테스트 연습 - 전화번호 목록 전화번호부에 적힌 전화번호 중, 한 번호가 다른 번호의 접두어인 경우가 있는지 확인하려 합니다. 전화번호가 다음과 같을 경우, 구조대 전화번호는 영석이의 전화번호의 접두사입니다. 구조�� programmers.co.kr 이문제는 해시문제이다. 해시 카테고리에 있어서 해시맵...? 해시테이블..? 써야하나,,,? 라고 생각하면서 해시 알고리즘에 대한 기본지식이 많이 부족하구나라고 깨달았다. 시간을 내서 한번 정리해봐야할것 같다. 문제풀이 -길이가 작은 숫자가 길이가 긴 숫자의 접두어가 될 수 있기 때문에 길이순, 후 숫자으로 정렬. -숫자의 포함여부를 contains()를 통해 확인. -포함시 answer을 false로 바꾸고 return ※접두어만 확인하는것..
- Total
- Today
- Yesterday
- Heap
- git
- java
- JavaScript
- 자바
- dfs
- Stomp
- 운영체제
- 최소 스패닝 트리
- 삼성 sw역량테스트
- Oracle
- websocket
- 코딩테스트
- programers
- OS
- sockjs
- 분리 집합
- 알고리즘
- 정렬
- 프로그래머스
- 완전탐색
- Baekjoon
- MST
- BFS
- DP
- 채팅
- 삼성 sw역량 테스트
- SWEA
- 백준
- Spring
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |