일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- 알고리듬
- 구현
- 코딩테스트
- SQL
- DFS
- aws
- 시뮬레이션
- Priority Queue
- django
- GitHub
- Back tracking
- Linked list
- boj
- Python
- programmers
- CSV
- Data Structure
- BFS
- 알고리즘
- 모의SW역량테스트
- 코테
- Vue.js
- JavaScript
- Trie
- SWEA
- spring boot
- gpdb
- Bruth Force
- Algorithm
- hash table
- Today
- Total
목록분류 전체보기 (177)
hotamul의 개발 이야기
url: https://www.acmicpc.net/problem/17142 17142번: 연구소 3 인체에 치명적인 바이러스를 연구하던 연구소에 승원이가 침입했고, 바이러스를 유출하려고 한다. 바이러스는 활성 상태와 비활성 상태가 있다. 가장 처음에 모든 바이러스는 비활성 상태이고 www.acmicpc.net 풀이 핵심 1. Bruth Force + BFS 문제 2. blank 변수에 빈칸 (0)의 개수를 저장 한다. 3. virus를 활성화 시킬 수 있는 장소(2)의 위치 (r, c) 를 virus 배열에 저장한다. (virus_size 변수에 virus 배열 장소 개수도 같이 저장) 4. 활성화 위치를 저장할 vector picked를 생성하고 재귀 형식의 dfs 함수에 전달한다. dfs 함수는 v..
url: https://www.acmicpc.net/problem/20055 20055번: 컨베이어 벨트 위의 로봇 길이가 N인 컨베이어 벨트가 있고, 길이가 2N인 벨트가 이 컨베이어 벨트를 위아래로 감싸며 돌고 있다. 벨트는 길이 1 간격으로 2N개의 칸으로 나뉘어져 있으며, 각 칸에는 아래 그림과 같이 1부 www.acmicpc.net na982님 풀이 참고 https://na982.tistory.com/131 [삼성 SW 역량 테스트] 컨베이어 벨트 위의 로봇 컨베이어 벨트 위의 로봇 강의 컨베이어 벨트 위의 로봇 코드 #include int N, K; int A[200]; int solve() { int ret = 0; int zero_count = 0; int robot[200 * 1000];..
url: https://www.acmicpc.net/problem/17837 17837번: 새로운 게임 2 재현이는 주변을 살펴보던 중 체스판과 말을 이용해서 새로운 게임을 만들기로 했다. 새로운 게임은 크기가 N×N인 체스판에서 진행되고, 사용하는 말의 개수는 K개이다. 말은 원판모양이고, 하 www.acmicpc.net na982님 풀이 참고 https://na982.tistory.com/118 [삼성 SW 역량 테스트] 새로운 게임 2 새로운 게임 2 강의 새로운 게임 2 코딩 #include struct POS { int y, x, d; }; const int dy[] = { 0, 0, -1, +1 }; const int dx[] = { +1, -1, 0, 0 }; int n, k; int col..

url: https://www.acmicpc.net/problem/17779 17779번: 게리맨더링 2 재현시의 시장 구재현은 지난 몇 년간 게리맨더링을 통해서 자신의 당에게 유리하게 선거구를 획정했다. 견제할 권력이 없어진 구재현은 권력을 매우 부당하게 행사했고, 심지어는 시의 이름 www.acmicpc.net 풀이 핵심 1. Bruth Force 문제 2. for 문으로 완전 탐색 진행 3. calPop 함수를 통해 인구수의 최대 최소 차 계산 4중 for 문으로 기준 점 (x, y), d1, d2를 변경 시켜 가며 체크한다. 이 때 다음과 같은 조건을 만족한 경우에만 calPop 함수가 실행 될 수 있도록 한다 (OutOfBound 가 발생하지 않게 하기 위해) (d1, d2 ≥ 1, 1 ≤ x ..
url: https://www.acmicpc.net/problem/19238 19238번: 스타트 택시 첫 줄에 N, M, 그리고 초기 연료의 양이 주어진다. (2 ≤ N ≤ 20, 1 ≤ M ≤ N2, 1 ≤ 초기 연료 ≤ 500,000) 연료는 무한히 많이 담을 수 있기 때문에, 초기 연료의 양을 넘어서 충전될 수도 있다. 다 www.acmicpc.net 풀이 핵심 1. 최단 거리 --> bfs 문제 (+ 시뮬레이션) 2. 벽을 모두 -1로 변경 3. 현재 위치 cur_r, cur_c에 저장 4. 손님이 있는 곳을 고유한 ID (1, 2, 3, …)로 map에 표시 한다. 손님의 위치와 도착 위치를 target 배열에 표시 한다. 이 때 target 배열의 index는 손님의 ID로 한다. 5. fi..
url: https://www.acmicpc.net/problem/14890 14890번: 경사로 첫째 줄에 N (2 ≤ N ≤ 100)과 L (1 ≤ L ≤ N)이 주어진다. 둘째 줄부터 N개의 줄에 지도가 주어진다. 각 칸의 높이는 10보다 작거나 같은 자연수이다. www.acmicpc.net na982님 풀이 참고 https://na982.tistory.com/93 [삼성 SW 역량 테스트] 경사로 #include int n, l, ret = 0; int map[200][100]; int main() { scanf("%d %d", &n, &l); for (int y = 0; y < n; ++y) { for (int x = 0; x < n; ++x) { scanf("%d", &map[y][x]); }..

백준이랑 연동해서 랭킹을 측정할 수 있는 사이트 http://solved.ac/ solved.ac 우리 모두가 만들어가는알고리즘 문제해결 학습의 이정표 solved.ac는 Baekjoon Online Judge 문제들에 태그와 난이도를 붙이는 커뮤니티 프로젝트입니다. 현재 12,865개 문제에 난이도 정보를 제공하고 solved.ac
url: https://www.acmicpc.net/problem/14501 14501번: 퇴사 첫째 줄에 백준이가 얻을 수 있는 최대 이익을 출력한다. www.acmicpc.net 풀이 핵심 1. dfs 문제 (회귀 함수로 구현) 2. 전달 인자는 현재 날짜, 이전에 추가한 날짜, 현재 돈 총합 void dfs(int day, int post, int sum); 3. schedule 배열 생성 (상담에 걸리는 시간, 받을 수 있는 돈 정보 저장) 4. 다음과 같이 회귀 함수 구현 ... for (int i = day; i N + 1) { int m_day = day - schedule[post].t; if (m_day
url: https://www.acmicpc.net/problem/20056 20056번: 마법사 상어와 파이어볼 첫째 줄에 N, M, K가 주어진다. 둘째 줄부터 M개의 줄에 파이어볼의 정보가 한 줄에 하나씩 주어진다. 파이어볼의 정보는 다섯 정수 ri, ci, mi, si, di로 이루어져 있다. 서로 다른 두 파이어볼의 위치 www.acmicpc.net 풀이 핵심 1. STL queue 활용 문제 풀이 (한 공간에 여러 개의 파이어볼 있을 수 있음) 2. 이동 시킬 때 이미 이동했던 파이어볼을 또 이동시키지 않기 위해 동일한 크기의 queue temp 배열 이용 3. 맵을 넘어갈 때는 다음 처럼 처리 for (int i = 0; i < cur.s; i++) { nr += dr[cur.d], nc +..
url: https://www.acmicpc.net/problem/15684 15684번: 사다리 조작 사다리 게임은 N개의 세로선과 M개의 가로선으로 이루어져 있다. 인접한 세로선 사이에는 가로선을 놓을 수 있는데, 각각의 세로선마다 가로선을 놓을 수 있는 위치의 개수는 H이고, 모든 세로선 www.acmicpc.net 풀이 핵심 1. Bruth Force && Back Tracking 알고리즘 문제로 보인다. (추가한 사다리 수가 3보다 크다면 더 이상 탐색할 필요 없으므로 모두 탐색 할 수 있다) 2. DFS 이용 - check(DFS) 함수 탈출 조건 현재 사용한 사다리 수가 ans 보다 크거나 같다면 return 현재 사다리의 각 번호들이 맨 밑까지 내려왔을 때 동일 한지 확인 (맞다면 정답에 ..