문제보러가기 코딩테스트 연습 - 소수 찾기 한자리 숫자가 적힌 종이 조각이 흩어져있습니다. 흩어진 종이 조각을 붙여 소수를 몇 개 만들 수 있는지 알아내려 합니다. 각 종이 조각에 적힌 숫자가 적힌 문자열 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 +..

JDBC와 mvc패턴을 공부하면서 상품 관리 프로그램을 작성해 보았다. (전체 코드는 깃헙에) mvc패턴은 model, view, controller로 기능을 나누어 진행하는 디자인 패턴이다. DB : -product_stock, product_io / 상품정보, 재고와 /입고 출고 내역 테이블로 데이터가 저장되어있음 -product_io 테이블에 입출고 내역이 insert 되면 product_stock에서 재고를 반영해줌 - trigger 통해 Controller : -View에서 요청받은 작업을 처리하여 반환해준다. -Controller에서는 사용자 요청을 받고 Service에 작업을 수행하도록 지시하여 결과를 받아들이는 중개자 역할을 한다. 받아들인 결과에서 예외처리와 출력을 담당하여 Control..
문제보러가기 코딩테스트 연습 - 디스크 컨트롤러 하드디스크는 한 번에 하나의 작업만 수행할 수 있습니다. 디스크 컨트롤러를 구현하는 방법은 여러 가지가 있습니다. 가장 일반적인 방법은 요청이 들어온 순서대로 처리하는 것입니다. 예를�� 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로 카운트해준다 -각..
- Total
- Today
- Yesterday
- 분리 집합
- dfs
- 알고리즘
- DP
- 최소 스패닝 트리
- programers
- JavaScript
- websocket
- OS
- Oracle
- BFS
- java
- 운영체제
- 완전탐색
- Baekjoon
- 채팅
- MST
- 코딩테스트
- 정렬
- 백준
- SWEA
- 삼성 sw역량 테스트
- git
- 프로그래머스
- Spring
- 삼성 sw역량테스트
- Stomp
- 자바
- sockjs
- Heap
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |