일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- 여행
- JAVA #객체지향 #프로그래밍 #언어 #IT #기초
- 서버
- 인프라
- 유럽여행
- 파이썬
- ip
- 추억
- 실비용
- 영국
- RabbitMQ
- 1달살기
- 샐러리
- JAVA #언어 #프로그래밍 #IT #개발 #코딩
- 내심정
- IT
- 리눅스
- 여행 #
- 준비
- #DB#SQLD#자격증
- 메시지 큐
- 계획
- 예약
- JAVA #언어 #프로그래밍 #코딩 #static #정적함수 #정적변수 #클래스
- 겨울
- 이탈리아
- 일정
- 경험
- 배낭여행
- 유럽
- Today
- Total
목록<SW>/알고리즘 + 자료구조 (24)
YoonWould!!
URL : https://www.acmicpc.net/problem/14890 삼성SW 기출 문제 한 번에 보기 : https://www.acmicpc.net/workbook/view/1152 ※삼성 SW 역량평가 기출문제 어떻게 풀지?※ 조건을 토대로 코드를 작성했던 것 같습니다. 행으로 봤을 때 3 가지 조건을 찾았습니다. 1. 옆칸이랑 같을 때 2. 클 때 3. 작을 때 ※필요 역량 정리하기!!!※1. memset 헤더는 #include > l; for (int i = 0; i map1[i][j]; map2[j][i] = map1[i][j]; } } for (int i = 0; i
URL : https://www.acmicpc.net/problem/14888 삼성SW 기출 문제 한 번에 보기 : https://www.acmicpc.net/workbook/view/1152 삼성 SW 역량평가 기출문제 어떻게 풀지? 먼저, 문제를 보고 역시나 트리 형식을 떠올렸습니다. 1,2,3,4,5,6 이 있을 때 연산자 우선순위에 상관없는 조건 때문에 1 과 2 사이에 들어 갈 수 있는 연산자만 신경쓰면 되기에 트리를 통해서 모든 경우의 수를 돌아보는 방법을 택했습니다. 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849/*14888번 연산자 끼워넣기브루트 포스 => 트리 형식으로 생각하..
URL : https://www.acmicpc.net/problem/2583 백트래킹 문제 어떻게 풀지? 1. 먼저 Map에 직사각형의 부분을 채운다. => 코드의 making 부분2. dfs를 사용하여 영역의 크기를 구한다. ※필요 역량 정리하기!!!※1. dfs + 백트래킹2. #include 정리 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061#include#include#includeusing namespace std; int m, n,k;int map[101][101];int visit[101][101] = { 0 };int dy[4] = {..
URL : https://www.acmicpc.net/problem/2661 백트래킹 문제 어떻게 풀지? 1. 1,2,3 을 더해가며 좋은 수열인지 아닌지 판별한다고 했을 때 - dfs와 백트래킹 문제 직감2. 종료 조건 - 좋은 순열 찾았을 때, 나쁜 순열일 경우, 길이가 n일 경우 출력 참고 c++에서 s.substr(a, b) 는 s문자열을 시작점 a에서부터 b개의 문자를 자르는 것 ※필요 역량 정리하기!!!※1. dfs + 백트래킹2. #include에서 사용하는 함수 정리하기 12345678910111213141516171819202122232425262728293031323334353637383940414243444546/*2661 좋은 수열백트래킹 문제*/ #include#include#in..
URL : https://www.acmicpc.net/problem/14889 삼성SW 기출 문제 한 번에 보기 : https://www.acmicpc.net/workbook/view/1152 삼성 SW 역량평가 기출문제 어떻게 풀지? 먼저, 1,2,3팀과 4,5,6팀 생성, 1,2,4팀 3,5,6 팀 이런식으로 팀을 생성하는 과정에서 팀을 나누는 것이 가장 중요하다고 판단을 했습니다. 그래서 경로를 끝까지 탐색할 수 있는 DFS를 사용했습니다. 그리고 N/2의 인원이 모인다면 계산을 통해 차이의 최소를 구하려고 하였습니다. 하지만 끝까지 경로를 들어갔을 때 다시 뒤로 나와서 다른 팀 구성의 차이를 구해야 하기 때문에 백트래킹을 사용하였습니다. ※필요 역량 정리하기!!!※1. dfs2. 백트래킹백트래킹 ..
URL : https://www.acmicpc.net/problem/14502 삼성SW 기출 문제 한 번에 보기 : https://www.acmicpc.net/workbook/view/1152 2017년 상반기 삼성 SW 역량평가 기출문제 그냥 보고서 DFS 네? 생각했다가 판정까지 BFS네? 생각하고 DFS, BFS를 이용하여 풀이해야 겠다고 생각을 하고 총 과정이 3개가 필요하다고 생각했다. 과정 1 ) 완전/전체 탐색을 해서 벽3개를 세울 수 있는 모든 경우의 수를 보고 과정 2 ) BFS를 사용해서 과정 1)을 마친 경우에 맵에 있는 모든 바이러스를 퍼지게 한다. 과정 3 ) 해당 map에 안전 영역 수를 계산한다. ※필요 역량 정리하기!!!※ 1. bfs 2. dfs 두 가지를 한 번에 정리할 ..
문제 링크 : https://www.acmicpc.net/problem/7576 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859#include #includeusing namespace std; int m, n, h; int map[1005][1005], cnt[1005][1005], chk;int q[1000050][2], f, r;int x, y, dab;int dx[4] = { -1, 1, 0, 0, };int dy[4] = { 0, 0, -1, 1, };int main() { int i, j, l, k; cin >> m >> n; for (j = 0; j
문제링크 : https://www.acmicpc.net/problem/1697 1234567891011121314151617181920212223242526272829303132333435363738#include#includeusing namespace std; int n, k;int visited[100001] = { 0, }; int bfs(int start) { queue q; q.push(start); visited[start] = 1; while (!q.empty()) { int y = q.front(); q.pop(); if (y == k) { return visited[y] - 1; } if (y - 1
URL : https://www.acmicpc.net/problem/2178 ※이 문제 어떻게 풀지?※ BFS와 Queue를 이용하여 최소 이동횟수를 구하고자 했습니다. ※필요 역량 정리하기!!!※1. pair, make_pair 함수를 사용할 때 => #include를 사용해 주자!! - 백준에서는 C++ 컴파일 에러가 나기 때문... 시험장가서도 똑같겠죠...2. 결국 BFS...!! 밑에 소스는 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566/*bfs에 대해서 잘 알아야 할 수 있다.bfs 큐이고 루트에서 인접한 순으로 돌아가며..
문제 https://www.acmicpc.net/problem/1260 해결 방법 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455#include int MAP[1001][1001]; // 맵 설정 int D[1001] = { 0 };//출력공간 초기화int Q[1001] = { 0 };//BFS pop으로 나오기전 저장공간int B[1001] = { 0 };int N, M, V; // 정점, 간선 , 탑색을 시작할 정점의 번호 void DFS(int V){ printf("%d ", V); // 처음은 1 D[V] = 1; for (int i = 1; i