일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- 모의SW역량테스트
- Back tracking
- 시뮬레이션
- Data Structure
- JavaScript
- GitHub
- Bruth Force
- hash table
- Trie
- gpdb
- CSV
- 알고리듬
- Python
- Algorithm
- SQL
- SWEA
- django
- spring boot
- BFS
- Vue.js
- Priority Queue
- boj
- programmers
- 구현
- 코테
- aws
- 코딩테스트
- DFS
- 알고리즘
- Linked list
- Today
- Total
목록myt-algorithm-practice/Samsung SW Certi Adv (44)
hotamul의 개발 이야기
url: https://swexpertacademy.com/main/code/problem/problemDetail.do?contestProbId=AWXRDL1aeugDFAUo SW Expert Academy SW 프로그래밍 역량 강화에 도움이 되는 다양한 학습 컨텐츠를 확인하세요! swexpertacademy.com 코드 #define _CRT_SECURE_NO_WARNINGS #include #define MAXM 100 #define MAXA 8 #define a 0 #define b 1 int T, M, A; int move_cmd[2][MAXM + 1]; const int dr[] = { 0,-1,0,1,0 }; const int dc[] = { 0,0,1,0,-1 }; struct BCInfo..
url: https://swexpertacademy.com/main/code/problem/problemDetail.do?contestProbId=AWIeW7FakkUDFAVH SW Expert Academy SW 프로그래밍 역량 강화에 도움이 되는 다양한 학습 컨텐츠를 확인하세요! swexpertacademy.com 풀이 핵심 1. 높이 차이가 2 이상 나는지 확인해주기, 내리막길 + 오르막길 일 경우 경사로가 중복인지 확인하기 이 두가지만 잘 확인해준다면 쉽게 풀 수 있다. 2. 행/열을 각각 체크해주려면 경사로 중복 배열을 행 체크 후 다시 초기화시켜줘야 하므로 행 체크만 할 수 있도록 입력에서 처리해준다. (따라서 행을 2 * N번 체크해줘야 함) ... scanf("%d", &map[r][c])..
url: https://swexpertacademy.com/main/code/problem/problemDetail.do SW Expert Academy SW 프로그래밍 역량 강화에 도움이 되는 다양한 학습 컨텐츠를 확인하세요! swexpertacademy.com 풀이 핵심 1. 완전 탐색 문제 2. 제한 시간 초과를 피하기 위해 cache[50][50][4] 배열을 만들어 두는 것이 필요하다. MAXN (50) * MAXN + 1 로 cache 배열을 초기화 하고 최초 방문일 경우 현재 r, c (행, 열), dir (방향)인 cache[r][c][dir]에 현재까지의 파이프 길이를 저장한다. 중복 방문 했을 경우 현재의 길이가 저장 된 길이보다 크다면 return 하는 방식으로 가지치지 한다. 3. ..
url: https://swexpertacademy.com/main/code/problem/problemDetail.do SW Expert Academy SW 프로그래밍 역량 강화에 도움이 되는 다양한 학습 컨텐츠를 확인하세요! swexpertacademy.com 풀이 핵심 1. Back Tracking, Bruth Force 문제 (완전 탐색) D_C_x (Combination, D개의 행 중 x개 선택) 2^x (x개가 A 또는 B로 약물 투입하는 경우) D*W (W개의 열에서 연속된 수 찾는 경우) D_C_x * 2^x * D * W ~= 대략 4억 (완전 탐색 가능) 2. struct Film을 만들고 성능을 검사하는 (check) 함수와 약물 투입 함수 (dosage) 를 만든다. - check..
url: https://swexpertacademy.com/main/code/problem/problemDetail.do?contestProbId=AV5PpLlKAQ4DFAUq SW Expert Academy SW 프로그래밍 역량 강화에 도움이 되는 다양한 학습 컨텐츠를 확인하세요! swexpertacademy.com 풀이 핵심 1. BFS 문제 2. 큐에 push 할 때 조건 (터널이 연결되어 있음) 을 잘 구현해야 한다. 먼저 터널 종류에 따른 방향 정보가 담긴 dr[7 + 1][4], dc[7 + 1][4] 배열을 미리 만들어 준다. 이 때 행은 터널 구조물 타입을 의미한다. 따라서 맵을 탐색하며 map[r][c] 에 0이 아닌 수가 들어 있다면 터널이 연결되어 있는지를 확인한다. 터널이 연결되어 ..
url: http://jungol.co.kr/bbs/board.php?bo_table=pbank&wr_id=3561&sca=99 JUNGOL www.jungol.co.kr 풀이 핵심 1. 가장 가까우면서 나보다 크기가 작은 먹이를 찾는 방법을 구현하는 것이 중요하다. (BFS로 구현) 거리가 같을 경우 행 index가 작은 순서로, 행 index가 같을 경우 열 index가 작은 순서로 탐색해야 한다. 그리고 나보다 크기가 작은 먹이를 찾았다면 위치 및 거리를 return 해줘야 한다. 여기서 나보다 작은 먹이를 찾지 못했다면 프로그램을 종료한다. 거리가 같을 경우 / 행 index가 같을 경우를 고려해야 하므로 우선순위 큐를 사용했다. STL 큐는 sort에 사용할 수 없고 priority_queue를..

url: https://swexpertacademy.com/main/code/problem/problemDetail.do?contestProbId=AWXRF8s6ezEDFAUo SW Expert Academy SW 프로그래밍 역량 강화에 도움이 되는 다양한 학습 컨텐츠를 확인하세요! swexpertacademy.com 풀이 핵심 1. Back Tracking / Bruth Force 문제 (완전 탐색) 2. 벽을 만날 때 방향 전환을 어떻게 해주느냐가 핵심이다. 방향 배열을 다음과 같이 구성하면 그림에 표시된 주황색 방향과 같다. ... const int dy[] = { 1,0,-1,0 }; const int dx[] = { 0,-1,0,1 }; ... 코드 #define _CRT_SECURE_NO_WA..
ㅕurl: https://swexpertacademy.com/main/code/problem/problemDetail.do?contestProbId=AWXRQm6qfL0DFAUo SW Expert Academy SW 프로그래밍 역량 강화에 도움이 되는 다양한 학습 컨텐츠를 확인하세요! swexpertacademy.com 풀이 핵심 1. Back Tracking, Bruth Force 문제 (완전 탐색 문제!) 2. 두가지 함수만 잘 구현 하면 쉽게 풀 수 있다. - void shooting(int c) 함수 c 열에 구슬을 쏘아 벽돌을 제거하는 함수 target이라는 큐에 구슬을 맞춘 위치 (r, c)를 저장하고 상, 하, 좌, 우 제거 가능한 블록을 removal 배열에 표시한다. 그리고 제거할 블록 ..
url: http://www.jungol.co.kr/bbs/board.php?bo_table=pbank&wr_id=3549&sca=99 JUNGOL www.jungol.co.kr 기존에 풀었던 백준 문제와 동일한 문제이다. (https://hotamul.tistory.com/18) 기존에는 함수로 단순하게 구현했는데 뭔가 Class 처럼? (실제로 class를 만들어 풀지는 않았지만) 구현하고 싶어 struct ROBOT에 cleaning, left_turn, move, back_move 함수를 넣어 robot의 기능처럼 사용했다. 훨씬 가독성이 좋아진 느낌이다. 코드 #define _CRT_SECURE_NO_WARNINGS #include #include using namespace std; int R..
url: http://www.jungol.co.kr/bbs/board.php?bo_table=pbank&wr_id=3548&sca=99 JUNGOL www.jungol.co.kr 풀이 핵심 1. Back Tracking / Bruth Force 문제 (Blood Fill 방법? 으로 구현) 2. 초기 불 (2) 의 위치 정보를 vector fire에 저장 3. 초기 safe zone (0) 위치 정보를 vector safe_zone에 저장 4. 재귀 함수 solve 구현. 전달 인자는 safe_zone vector의 index와 벽을 만든 횟 수 cnt. 현재 index가 가르키는 safe zone을 벽으로 만들 거나 만들지 않거나 (만들지 않을 경우 cnt 는 증가 시키지 않고 index 만 증가 시켜..