일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- spring cloud
- log4j2
- Chunk
- log_bin
- java
- npm
- eslint
- REACTJS
- spring
- Regular expression
- REACT
- Spring Batch
- migration
- expire_logs_days
- JavaScript
- 정규표현식
- regex
- try catch
- update
- 퀵소트
- current_date
- Effective Java
- git
- Effective Java 3/e
- upgrade
- Express
- nodejs
- MySQL
- mysql 5.5
- Node
- Today
- Total
목록전체 글 (160)
내 세상
Process? - 보조기억장치에 있던 프로그램이 주기억장치에 적재되어 실행 중일때, 이를 '프로세스'라고 한다. 프로세스 상태 Create - Process가 생성되는 단계 주기억장치 적재 여부 및 자원 확보 여부 Ready Process 생성 후 주기억 장치에 적재되고, 실행하는데 필요한 자원을 모두 얻은 상태 Asleep 주기억장치에 적재되었지만, 필요한 자원을 얻지 못한 상태 Suspended Ready 주기억장치에 적재되지 않았지만, 필요한 자원을 얻은 상태 Suspended Blocked 주기억장치에 적재되지 않았고, 필요한 자원도 얻지 못한 상태 Running - Process가 CPU를 점유하여 실행중인 상태 Terminated - Process가 종료된는 상태 상태 전이 Dispatch ..
Graph는 기본적인 형태이다. 방향의 여부, 가중치의 여부, 연결의 여부, 순환의 여부 등에 따라서 이름이 변경되고 결정된다. 예를 들어, Minimum Spanning Tree의 의미를 하나씩 분석해보자. Tree? 순환(Cycle)이 없어야 함. 1개의 Root Node를 갖는다. Spanning Tree? 순환(Cycle)이 없어야 함. 1개의 Root Node를 갖는다. Spanning : (다리를) 놓다, ~의 양 끝을 연결하다 '모든 정점(노드)를 잇는다'로 해석할 수 있음. Minimum Spanning Tree? 순환(Cycle)이 없어야 함. 1개의 Root Node를 갖는다. Spanning : (다리를) 놓다, ~의 양 끝을 연결하다 '모든 정점(노드)를 잇는다'로 해석할 수 있음...
1. Stack Last Input First Out, LIFO, 후입선출 가장 나중에 저장된(push) data가 가장 먼저 인출(pop)되는 구조 용도 DFS(Depth First Search, 깊이우선탐색) 함수 호출의 순서 제어 Interrupt 처리 수식 계산 2. Queue First Input First Out, FIFO, 선입선출 가장 먼저 저장된(push) data가 가장 먼저 인출(pop)되는 구조 용도 BFS(Breadth First Search, 너비우선탐색) 운영체제 작업 스케줄링 대기행렬 처리
백준 13460번 구슬 탈출 2 https://www.acmicpc.net/problem/13460 문제 풀이 해당 문제는 bfs 느낌보다 dfs 느낌으로 접근하여 진행함 !!!!!!!! 1. 보드 - 크기 NxM (세로 N, 가로 M) - 가장 바깥 행과 열은 막혀져 있음. - 구멍이 하나 있음. - 입력 데이터 "O" - 상, 하, 좌, 우 4가지 방향으로 기울이기 가능함. (최대 10회) 2. 빨간 구슬 - 구멍에 들어가야 함. - 입력 데이터 "R" 3. 파란 구슬 - 절대 구멍에 들어가선 안됨. - 입력 데이터 "B" 주의 사항 1. 보드를 기울이면 파란 구슬과 빨간 구슬이 동시에 움직임 → 파란 구슬을 끝까지 이동시킨 후 빨간 구슬을 끝까지 이동시킨다 (X) → 파란 구슬과 빨간 구슬을 동시에..
https://www.acmicpc.net/problem/14503 문제 풀이 복잡한 설명이지만 굉장히 간단하게 생각해야한다. 후진의 경우도 방향을 그대로 살려서 각 방향에 따라 진행하는 방향의 반대로 가기 때문에 현재 좌표에서 빼줌으로써 해결하면 좋음 :) 문제에서 유일하게(?) 조심해야할 점은 일반적으로 "동,서,남,북" 이라고 말하고 쓰는데, "북, 동, 남, 서"를 기준으로 문제를 해석해나가야함 ! 시뮬레이션 부분에서 예전보다 많이 어려움을 느끼는 것 같다. 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 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 ..
https://www.acmicpc.net/problem/2146 문제 풀이 초기에는 특정 섬에서 다른 섬까지 이동하는 경로를 dfs로 구현했음. 하지만 굉장히 바보같이 무식한 생각이라는 걸 뒤늦게 깨달은 후 좌표만으로 계산하여 문제를 해결함. 문제를 보면 최단거리를 찾는 문제로 착각하기 쉬운데, 이러한 트릭을 잘 해결하는 머리를 가지도록 해보자. 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 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 7..
kill $(ps aux | grep '[찾을 내용]' | awk '{print $2}') ps aux- 전체 프로세스의 목록을 보여줌 ps aux | grep '[찾을 내용]'- 전체 프로세스에서 grep 명령어로 원하는 키워드가 있는 프로세스를 찾음. ps aux | grep '[찾을 내용]' | awk '{print $2}'- 전체 프로세스에서 grep 명령어로 원하는 키워드가 있는 프로세스를 찾은 후 2번째 열을 뽑아냄.
백준 14890번 경사로https://www.acmicpc.net/problem/14890 문제 풀이- 경사로 조건 1. 경사로는 낮은 칸에 놓으며, L개의 연속된 칸의 높이가 동일해야함. 2. 낮은 칸과 높은 칸의 차이는 오직 1이어야 함. - 경사로를 놓는 2가지 경우 1. 이전 칸이 현재 칸보다 1 낮은 경우 (이전 칸 높이 현재 칸 높이) - 현재 칸에서 뒤의 칸까지 총 L개가 높이가 동일한지 확인해야함...
백준 15683번 감시https://www.acmicpc.net/problem/15683 총 5종류의 CCTV가 있는데, 각 CCTV 별로 지켜볼 수 있는 방향이 정해져 있음. - 1번 : 상, 하, 좌, 우 중 1방향 - 2번 : (상, 하) or (좌, 우) 중 하나 - 3번 : 상, 하, 좌, 우 중 2 방향 (대신, 선택된 두 방향은 인접해야함) - 4번 : 상, 하, 좌, 우 중 3방향 - 5번 : 상, 하, 좌, 우 모든 방향 그 외에 6번은 '벽'이고, cctv 영상은 벽까지만 볼 수 있으며 벽을 건너서는 볼 수 없음.이러한 CCTV 별 특성으로 인하여 각 별개로 처리를 해주어야 함. 문제 풀이1. 초기에 데이터를 입력 받음과 동시에 각 cctv를 배열에 저장함. 이때, 5번 cctv는 별도..
백준 14889번 스타트와 링크https://www.acmicpc.net/problem/14889 팀원들 한명씩 돌면서 start팀으로 사용할까 말까를 구현해서 코딩하면 됨.확인은 안해봤지만, 아래와 같은 경우는 똑같은 계산을 2번 하게 되는 문제가 생길 수 있음 ex) 4명의 사원(1~4) start팀(1,2) link팀 (3,4) start팀(3,4) link팀 (1,2) 그래서 미리 전체 조합수(totalCase)를 계산해서 그 절반까지만 계산을 하도록 하였음. (Line 41)어차피 순차적으로 앞에서부터 한명씩 고르기 때문에 총 진행에 절반만큼만 하면 중복되는 경우는 하지 않기 때문입니다. 참 쉽쥬? 123456789101112131415161718192021222324252627282930313..
백준 14888번 연산자 끼워넣기https://www.acmicpc.net/problem/14888 말 그대로 연산자를 끼워넣으면 된다.특정 위치(pos)에서 남아 있는 연산자를 순차적으로 넣어본 후 최대값과 최소값을 찾으면 됨. 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960#include #include #include #include #define ll long long int using namespace std;int N;ll val[12];int expr[4];int exprCnt; ll maxVal = -1e10;ll minVal = 1e10;..
백준 13458번 시험 감독https://www.acmicpc.net/problem/13458 우선 각 시험관 별 총 감독자를 1명을 넣음.즉, 코드에서는 각 시험관에 총 감독자수가 커버하는 인원(B)를 감소시켜줌. 그리고 남은 인원이 0이 아니라면, 부감독자가 몇명 필요한지 계산해야함.남은인원을 부감독자가 커버하는 인원(C)로 나눴을 때 나누어 떨어지면, 그 몫 만큼 더해주고조금 남는다면 1을 추가로 더해주면 됨. 한명이 더 필요하기 때문에 그리고 추가로 값이 int를 넘어가기 때문에 long long int 를 사용해주어야 함. 1234567891011121314151617181920212223242526272829303132#include #include #include #include #defin..
백준 14501번 퇴사https://www.acmicpc.net/problem/14501 굉장히 쉬운 이유는 간절하게 퇴사를 바라기 때문 일수도 있음 ㅋ 문제 풀이완전탐색으로 첫날을 기반으로 그 날 상담을 한다/안한다로 쭉쭉 이어나가면 됩니다.그리고 그 중간 중간에 가장 큰 수입을 얻은 날의 금액을 answer로 저장하면 됨. 사람마다 다르겠지만, 저는 yes/no 로직을 코드로 짤 때는 dfs로 사용합니다.이전 문제에서도 그랬지만, 재귀에서 yes인 경우와 no인 경우를 둘 다 호출하면 됩니다. dfs라는 네이밍을 하는 이유는 그냥 옛날부터 해온 습관이고 빠르게 칠 수 있기 때문임. 맨 밑의 전체 소스 코드의 Lin 13~20 부분은 아래와 같습니다. dfs 함수의 parameter로는 day, sum..
백준 15686번 큐빙https://www.acmicpc.net/problem/15686 완전 탐색으로 전부 돌아보면 됩니다. 다른 사람들 코드 보다 깔끔하지도 않고 많이 노력해야겠다. 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586#include #include #include #include #include using namespace std;#define ll long long#define MAX_VALUE 1e10 struct Pos { int x; int..
백준 5373번 큐빙https://www.acmicpc.net/problem/5373 이 문제에서도 어김없이 패턴을 찾는 문제인데, 매우 귀찮고 어렵다. 큐브의 특정면을 바라볼 때, 시계 또는 반시계 방향으로 돌릴 수 있다.그런데, 이 과정을 진행할 때 인접한 면들의 3X3의 각 좌표의 위치가 뒤죽박죽이 되기 때문에 매우 모니터 파괴 충동이 듬. 문제풀이 1. 큐브에는 초기에 지정된 색상이 있다. 방향Input color / ouput위쪽 U - Upper White 아래쪽 B - Bottom Yellow 앞쪽 F - Front Red 뒤쪽 B - Back Orange 왼쪽 L - Left Green 오른쪽 R - Right Blue 2. input으로 주어진 만큼 큐브를 회전시킨 후 위쪽(U-Upper..
https://www.acmicpc.net/problem/14502 백준 14502번 연구소 이거는 그냥 맵 크기가 작기 때문에 전부 다 찾고, 전부 다 돌려보면 됨.흔히 말하는 완전탐색 자기 전에 빠르게 짜보기 위해 엄청 대충 짰기 때문에 다시 한번 정신이 말짱할 때 깔끔하게그리고 변수 크기가 커져도 제한 시간 내에 작동할 수 있도록 수정을 해봐야 겠다. 문제 풀이1. 벽을 "무조건" 3개 설치 해야함.2. 바이러스는 벽을 뚫지 못함.3. 바이러스가 퍼지지 않은 안전 지대의 영역 크기를 구해야 함. → 전체적으로 맵 크기가 작기 때문에, for문 돌면서 간단하게 풀어도 잘 풀림. (추후 수정 예정) 1234567891011121314151617181920212223242526272829303132333..