일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- Trie
- 코테
- gpdb
- 알고리듬
- Algorithm
- BFS
- CSV
- django
- JavaScript
- 알고리즘
- GitHub
- Data Structure
- spring boot
- Back tracking
- boj
- 코딩테스트
- 모의SW역량테스트
- programmers
- 구현
- Priority Queue
- hash table
- Python
- DFS
- Linked list
- SQL
- SWEA
- Bruth Force
- aws
- Vue.js
- 시뮬레이션
- Today
- Total
목록myt-algorithm-practice/Samsung SW Certi Adv (44)
hotamul의 개발 이야기
url: http://jungol.co.kr/bbs/board.php?bo_table=pbank&wr_id=3547&sca=99 JUNGOL www.jungol.co.kr 풀이 핵심 1. BackTracking / Bruth Force 문제 (재귀 함수 완전 탐색) 2. 현재 날짜를 선택 하냐 / 안하냐 로 재귀 함수 만들어 주면 끝... 코드 #define _CRT_SECURE_NO_WARNINGS #include int N, ans; struct INFO{ int time, pay; }; INFO schedule[15]; // 수업 시간, 페이에 대한 정보 (index가 날짜, 0부터 시작) void solve(int day, int sum) { if (day == N) { // day가 N이라는 것..
url: http://jungol.co.kr/bbs/board.php?bo_table=pbank&wr_id=3543 JUNGOL www.jungol.co.kr BOJ 뱀 문제와 거의 같은 문제. (https://hotamul.tistory.com/17) 코드 #define _CRT_SECURE_NO_WARNINGS #include #include using namespace std; int N, M, D; bool map[100][100]; bool body[100][100]; int DIR[10000]; const int dr[] = { -1,0,1,0 }; const int dc[] = { 0,1,0,-1 }; struct POS { int r, c; }; deque worm; int solve() ..
SWEA 1249. [S/W 문제해결 응용] 보급로 문제 풀이 핵심 1. BFS 문제 2. 경로의 시간을 저장하는 check 배열을 모두 9 * 100 * 100 으로 초기화 한다. (9 * 100 * 100이 가장 큰 값) 3. 새로운 곳(nr, nc)에 방문 할 때 check[nr][nc] 보다 check[cur.r][cur.c] + map[nr][nc] 가 작을 경우에만 큐에 push 한다. 여기서 cur은 현재 위치 정보가 담긴 struct 이다. 코드 #define _CRT_SECURE_NO_WARNINGS #include #include using namespace std; int T, N; int map[100][100]; int check[100][100]; struct POS { int ..
url: https://www.acmicpc.net/problem/12100 12100번: 2048 (Easy) 첫째 줄에 보드의 크기 N (1 ≤ N ≤ 20)이 주어진다. 둘째 줄부터 N개의 줄에는 게임판의 초기 상태가 주어진다. 0은 빈 칸을 나타내며, 이외의 값은 모두 블록을 나타낸다. 블록에 쓰여 있는 수는 2 www.acmicpc.net 풀이 핵심 1. 완전 탐색 문제 (Bruth Force / Back Tracking) 2. map을 반시계 방향으로 (시계 방향인지 반시계 방향인지는 중요하지 않음) 회전시키는 함수와 위로 이동시키는 함수를 구현한다. (상 하 좌 우로 이동시키는 함수를 각각 구현하기는 번거롭기 때문) 3. 문제에서 가장 중요한 것은 이동시키는 함수를 어떻게 구현하는 것이냐 이..
url: https://www.acmicpc.net/problem/13460 13460번: 구슬 탈출 2 첫 번째 줄에는 보드의 세로, 가로 크기를 의미하는 두 정수 N, M (3 ≤ N, M ≤ 10)이 주어진다. 다음 N개의 줄에 보드의 모양을 나타내는 길이 M의 문자열이 주어진다. 이 문자열은 '.', '#', 'O', 'R', 'B' www.acmicpc.net 풀이 핵심 1. 최소 구슬을 굴리는 (기울이는) 횟수 구한는 문제 --> BFS로 풀이 2. 빨간 구슬, 파란 구슬의 시작 위치를 red_sr, red_sc, blue_sr, blue_sc 에 저장한다. 3. 4차원 배열인 check 배열을 활용해 중복 방문을 방지 한다. ... bool check[10][10][10][10]; ... /..
url: https://www.acmicpc.net/problem/20057 20057번: 마법사 상어와 토네이도 마법사 상어가 토네이도를 배웠고, 오늘은 토네이도를 크기가 N×N인 격자로 나누어진 모래밭에서 연습하려고 한다. 위치 (r, c)는 격자의 r행 c열을 의미하고, A[r][c]는 (r, c)에 있는 모래의 양을 www.acmicpc.net 풀이 핵심 1. 구현 / 시뮬레이션 문제 2. 미리 모래 날리는 비율, 왼/아래/오른/위 방향에 따른 모래 이동 위치 배열들을 생성해야 한다. // 토네이도 이동 배열 const int dy[] = { 0,1,0,-1 }; const int dx[] = { -1,0,1,0 }; // 비율 정보를 담고 있는 배열 const int ratio[9] = { 1,..
url: https://www.acmicpc.net/problem/15686 15686번: 치킨 배달 크기가 N×N인 도시가 있다. 도시는 1×1크기의 칸으로 나누어져 있다. 도시의 각 칸은 빈 칸, 치킨집, 집 중 하나이다. 도시의 칸은 (r, c)와 같은 형태로 나타내고, r행 c열 또는 위에서부터 r번째 칸 www.acmicpc.net 풀이 핵심 1. Back Tracking 문제 2. home, chicken 백터 생성 (1일 경우 r, c home에 저장 / 2일 경우 r, c chicken에 저장) 3. solve 재귀 함수 구현 (전달 인자: 선택한 치킨집 개수 - cnt, 넣을 chicken집 인덱스 - idx) idx 가 chicken.size() 보다 크면 종료 cnt가 M 일 때 (선..
url: https://www.acmicpc.net/problem/19237 19237번: 어른 상어 첫 줄에는 N, M, k가 주어진다. (2 ≤ N ≤ 20, 2 ≤ M ≤ N2, 1 ≤ k ≤ 1,000) 그 다음 줄부터 N개의 줄에 걸쳐 격자의 모습이 주어진다. 0은 빈칸이고, 0이 아닌 수 x는 x번 상어가 들어있는 칸을 의미 www.acmicpc.net 풀이 핵심 1. 구현 / 시뮬레이션 문제 2. 상어의 위치, 방향, 우선 순위 방향 정보를 저장하는 shark 배열을 만든다. (배열의 인덱스가 상어의 고유 번호 이다.) 3. 상어가 죽었다는 것은 상어의 방향이 -1일 경우로 한다. M 개의 상어를 탐색하며 상어의 현재 자리에 냄새를 남긴다. 냄새는 smell 배열에 상어의 고유 번호, 현재 ..
na982님 풀이 참고 https://na982.tistory.com/123 [삼성 SW 역량 테스트] 주사위 윷놀이 #include const int board[33][6] = { {0,1,2,3,4,5}, {2,2,3,4,5,6}, {4,3,4,5,6,7}, {6,4,5,6,7,8}, {8,5,6,7,8,9}, {10,21,22,23,24,25}, {12,7,8,9,10,11}, {14,8,9,10,11,12}, {16,9,10,11,12,13}, {18,10,11.. na982.tistory.com 코드 #define _CRT_SECURE_NO_WARNINGS #include const int board[33][6] = { {0,1,2,3,4,5}, {2,2,3,4,5,6}, {4,3,4,5,6,7..
url: https://www.acmicpc.net/problem/19236 19236번: 청소년 상어 첫째 줄부터 4개의 줄에 각 칸의 들어있는 물고기의 정보가 1번 행부터 순서대로 주어진다. 물고기의 정보는 두 정수 ai, bi로 이루어져 있고, ai는 물고기의 번호, bi는 방향을 의미한다. 방향 bi는 www.acmicpc.net 풀이 핵심 1. Bruth Force + 시뮬레이션 / 구현 문제 2. shark라는 struct를 만들어 문제를 해결한다. shark struct는 다음과 같은 변수, 함수로 구성된다. 현재 상어의 위치 (R, C), 방향 (D), 먹은 물고기 번호의 합 (cnt) 물고기의 ID를 저장하는 map[4][4] 배열 물고기의 위치, 방향, ID를 저장하는 fish 배열 (..