
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 이문제는 힙 알고리즘에 속해 있는 문제이다. 처음 이문제를 봤을 때는 띠용..? 이걸 힙으로 왜 어떻게 접근하지?라고 생각했다 힙에 속해있는지 몰랐다면 탐색 방법으로 풀었을 것 같다. 이문제는 우선순위 큐를 이용하여 풀었다. 접근방식을 떠올리게 되면 구현 자체는 크게 어렵지 않은 문제였으나,힙에 대한 지식, 관련 문제를 많이 접해보지 못한 경우(바로 나 같은..) 헤맬 수 있는 문제였다. 이참에 힙을 시작하여 자료구조를 다시 공부해야겠다고 다짐한 ..
문제보러가기 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 ※접두어만 확인하는것..
문제보러가기 코딩테스트 연습 - 숫자 야구 [[123, 1, 1], [356, 1, 0], [327, 2, 0], [489, 0, 1]] 2 programmers.co.kr 이문제는 완전 탐색 카테고리에 있는 문제로 모든 경우의 수를 다 탐색해서 해를 구하는 방식으로 접근해야 했다. 문제는 어떤 식으로 모든 경우의 수를 구해야 하는가.. 였다. 그래서 좀 찾아보니 모든 해당하는 모든 숫자에 대해 다 탐색해보는 방식으로 풀면 됐다. 문제풀이 -중복되는 숫자가 없는 3 자릿수를 list에 넣어 탐색한다(123~987 0 은 제외) -주어진 baseball배열에서 숫자와 스트라이크, 볼의 수를 탐색 -strikeCnt -> list의 탐색할 숫자와 baseball배열의 숫자 : 숫자와 인덱스가 같을경우 => ..
문제보러가기 코딩테스트 연습 - 여행경로 [[ICN, SFO], [ICN, ATL], [SFO, ATL], [ATL, ICN], [ATL,SFO]] [ICN, ATL, ICN, SFO, ATL, SFO] programmers.co.kr 이문제는 경로가 여러개 나올수 있다는 점과 그럴 경우 알파벳 순서가 앞서는 경로를 답으로 택하는것만 주의하면 되는 문제였다. 나는 경로가 여러개 나올때 계속 같은경로가 여러번 저장되길래 삽질을 좀 했다..;; array의 주소값으로 참조함을 잊지말자 ㅎ.. copy사용을 생각하자...ㅎ 문제풀이 -"ICN"으로 시작하는걸 start -ticket[i][1]이 다음 start가 된다. -모든경우를 탐색한 후 list에 저장된 경로 중 알파벳순으로 sorting import ..
문제보러가기 코딩테스트 연습 - 단어 변환 두 개의 단어 begin, target과 단어의 집합 words가 있습니다. 아래와 같은 규칙을 이용하여 begin에서 target으로 변환하는 가장 짧은 변환 과정을 찾으려고 합니다. 1. 한 번에 한 개의 알파벳만 바꿀 수 programmers.co.kr 이문제의 포인트는 주어진 단어의 한글자만 바꾼 단어가 주어진 단어의 집합에 있는지 확인하면서 진행해 나가는 과정이었다! 처음에는 단어를 바꾸니까 subString()을 쓰면 되겠다! 했는데 더 복잡해졌다는,,,, 문제풀이 -주어진 단어집합에 내가 비교하는 단어에서 한글자만 다른단어가 있는지 탐색 -visited == false라면 dfs에 그 단어로 다시 dfs진행 -target과 같아질때까지 비교 나는 한..
- Total
- Today
- Yesterday
- 삼성 sw역량테스트
- DP
- 삼성 sw역량 테스트
- git
- JavaScript
- 운영체제
- Baekjoon
- Stomp
- 정렬
- dfs
- programers
- 백준
- sockjs
- java
- 프로그래머스
- Heap
- 알고리즘
- SWEA
- websocket
- 채팅
- 코딩테스트
- 분리 집합
- Oracle
- MST
- Spring
- 완전탐색
- OS
- BFS
- 자바
- 최소 스패닝 트리
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
31 |