일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- list 컬렉션
- s
- buffer
- 윤성우 열혈자료구조
- Stack
- 알기쉬운 알고리즘
- datastructure
- Algorithm
- Graph
- stream
- R
- coding test
- C 언어 코딩 도장
- Serialization
- Selection Sorting
- 이스케이프 문자
- 이것이 자바다
- 윤성우의 열혈 자료구조
- C programming
- JSON
- insertion sort
- 메모리구조
- 혼자 공부하는 C언어
- Today
- Total
목록Problem Solving (182)
Engineering Note

it 취업을 위한 알고리즘 문제 풀이 문제 코드 //67. 최소비용(DFS : 인접행렬) #include int N, M, minDist = 99999999; int map[21][21], visited[21]; void dfs(int vertex, int sumDist) { if (vertex == N) { if (sumDist < minDist) minDist = sumDist; } else { for (int i = 1; i

it 취업을 위한 알고리즘 문제 풀이 문제 코드 //64. 경로 탐색(DFS) #include int n, cnt = 0; int map[20][20],visited[20]; void DFS(int vertex) { if (vertex == n - 1) { ++cnt; } else { //i는 다음에 방문할 정점을 의미 for (int i = 0; i < n; ++i) { //방문 가능한 정점(간선 연결)이고 아직 방문하지 않은 정점 조건 확인 if (visited[i] == 0 && map[vertex][i] == 1) { visited[i] = 1; DFS(i); //리턴되어 돌아온 후 다시 최근 방문했던 정점에 대해 방문체크를 풀어 주어야 다시 다른 정점에서 방문가능하기 때문에 풀어줌 visited..

it 취업을 위한 알고리즘 문제 풀이 문제 코드 //69. 이진트리 넓이우선 탐색(BFS) #include #include using namespace std; int main() { freopen("input.txt", "rt", stdin); int Q[10] = {0}, visited[10] = { false, }; int front=-1, rear=-1, x, a, b,firstX = 1; vector map[10]; for (int i = 0; i < 6; ++i) { scanf("%d %d", &a, &b); map[a].push_back(b); map[b].push_back(a); } Q[++rear] = firstX; visited[firstX] = true; while (front < r..

it 취업을 위한 알고리즘 문제 풀이 문제 코드 #include #include using namespace std; int cnt, N; int visited[21]; vector map[21]; void dfs(int vertex) { if (vertex == N) ++cnt; else { //vertex에 연결된 노드들에 대해 방문하지 않았으면 방문처리하고 DFS탐색 vertex가 N이 될때 까지, vertex가 N이 되면 ++cnt for (int i = 0; i < map[vertex].size(); ++i) { if (visited[map[vertex][i]] == 0) { visited[map[vertex][i]] = 1; dfs(map[vertex][i]); visited[map[verte..

it 취업을 위한 알고리즘 문제 풀이 문제 코드 #include #include #include #include using namespace std; int main() { //freopen("input.txt", "rt", stdin); int N, M, a, b, x, start = 1; int distance[10] = { 0, }, visited[10] = {0,}; vector map[10]; queue q; scanf("%d %d", &N, &M); //입력 정보로 부터 그래프를 인접리스트방식으로 저장 for (int i = 0; i < M; ++i) { scanf("%d %d", &a, &b); map[a].push_back(b); } q.push(start); visited[start] =..
먼저 현실에서 손으로 어떤식으로 해당 문제과정을 풀어과는지 이해를 하고 이해한 상황을 어떻게 자료구조로 표현할지를 생각한다. 그리고 풀이과정에서 방금의 상황을 다른 알고리즘으로 풀이할 수 있는지 생각해보고 수도코드를 작성한다.

문제 https://www.acmicpc.net/problem/2529 [ 2529번: 부등호 여러분은 제시된 부등호 관계를 만족하는 k+1 자리의 최대, 최소 정수를 첫째 줄과 둘째 줄에 각각 출력해야 한다. 단 아래 예(1)과 같이 첫 자리가 0인 경우도 정수에 포함되어야 한다. 모든 입력 www.acmicpc.net ](https://www.acmicpc.net/problem/2529) 코드 // //https://www.acmicpc.net/problem/2529 #include #include void swap(int a, int b); void permu(int flag, int start, int end); int check(); void findMaxMin(int flag); char st..

it 취업을위한알고리즘문제풀이 문제 코드 import sys #sys.stdin = open("input.txt","rt") T = int(input()) num = [] for i in range(T): N, s, e, k = map(int,input().split()) num = list(map(int,input().split())) # 한줄의 입력 데이터를 공백을 기준으로 데이터를 입력받아 list로 저장 num = num[s-1:e] num.sort() print("#",i+1," ",end="") print(num[k-1]) #print("#%d %d" %(i+1,num[k-1])) ##서식지정자로 출력하는 방법 문제해결방법 T와 N,s,e,k를 입력받고 N만큼 숫자를 다시 입력 받아 list에..