본문 바로가기
  • 소소한 개발자 이야기

분류 전체보기98

(SWEA) 5658. [모의 SW 역량테스트] 보물상자 비밀번호 https://swexpertacademy.com/main/code/problem/problemDetail.do?contestProbId=AWXRUN9KfZ8DFAUo SW Expert Academy SW 프로그래밍 역량 강화에 도움이 되는 다양한 학습 컨텐츠를 확인하세요! swexpertacademy.com 문제는 링크를 통해 확인해 주시기 바랍니다. 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 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 7.. 2020. 4. 6.
너비 우선 탐색(BFS, Breadth-First Search) 너비 우선 탐색이란, 임의의 노드 또는 루트 노드에서 시작해서 인접한 노드를 먼저 탐색하는 방법입니다. 구현: (1) 시작점을 큐에 삽입 (2) 시작점을 색칠, BFS 시작 (while 문) (3) 큐에서 하나를 뺀다. pop 된 node가 현재 위치! (4) 인접 노드에 방문 했는지 확인 - 방문 안했으면, 색칠하고 큐에 삽입 (5) 모두 완료 했으면 (3)으로 돌아간다. 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 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 6.. 2020. 3. 27.
다익스트라 알고리즘(Dijkstra algorism) 다익스트라 알고리즘이란, 하나의 정점에서 모든 정점까지 최단 거리를 구하는 알고리즘입니다. 단, 조건은 모든 정점이 양의 가중치를 갖고 있어야 합니다. 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 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 /* (정점 개수, 간선 개수, 시작점, 끝점) (정점1, 정점2, 가중치) .. .. .. .. (정점1, 정점2, 가중치).. 2020. 3. 27.
Card game 문제 두 사람 A와 B는 1부터 10까지의 숫자가 하나씩 적힌 열 장의 카드로 ‘게임’을 한다. 게임은 총 열 번의 ‘라운드’로 구성되고, 각 라운드 마다 자신이 가지고 있는 카드 중 하나를 제시하고, 한 번 제 시한 카드는 버린다. 게임 승패는 다음과 같이 결정된다. 각 라운드는 더 높은 숫자를 제시한 사람이 승리하고, 제시한 숫자가 같은 경우는 비긴다. 열 번의 라운드에서 더 많은 라운드를 승리한 사람이 게임을 승리하고, 승리한 라운드 횟수 가 동일한 경우 비긴다. 다음은 게임의 한 예로, 각 라운드마다 A와 B가 제시한 카드의 숫자와 각 라운드의 승자를 보여준다. (비긴 라운드는 D로 표시함) A는 5번의 라운드에서 승리하고 B는 4번의 라운 드에서 승리하였으므로, 이 게임은 A가 승리한다. 라운드.. 2020. 3. 3.
최대공약수(GCD) 최소공배수(LCM) 출력하기 문제 두 개의 자연수를 입력받아 최대공약수(GCD)와 최소공배수(LCM)를 출력하는 프로그램을 작성하시오. 입력 첫째 줄에는 두 개의 자연수가 주어진다. 이 둘은 10,000 이하의 자연수이며 사이에 한 칸의 공백이 주어진다. 출력 첫째 줄에는 입력으로 주어진 두 수의 최대공약수를, 둘째 줄에는 입력으로 주어진 두 수의 최소공배수를 출력한다. 예저 입력 24 18 예제 출력 6 72 소스코드 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 #include using namespace std; int gcd(int m, int n) { if(m == 0) return n; else return gcd(n % m, m); } int lcm(int m.. 2019. 12. 27.
배열 기반 연결 리스트(Linked list) 배열 기반의 연결리스트입니다. 배열 기반의 연결리스트는 아래와 같은 특징이 있습니다. (1) 특정한 위치의 원소에 즉시 접근이 가능하다. (2) 메모리 할당 해야하는 단점이 있다. (3) 원하는 위치로의 삽입이나 삭제가 비효율적이다. 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 32 33 34 35 36 37 38 #include #define INF 10000 int arr[INF]; //메모리가 INF(10000)인 배열을 생성 int count = 0; void addBack(int data) { arr[count] = data; count++; } void addFirst(int data) {.. 2019. 12. 26.