다이나믹 프로그래밍(Dynamic Programming) 문제였다. >**DP** : 주어진 문제를 풀기 위해서, 문제를 여러 개의 하위 문제(subproblem)로 나누어 푼 다음, 그것을 결합하여 최종적인 목적에 도달하는 것이다. 각 하위 문제의 해결을 계산한
그래프 탐색을 이용한 문제였다. 현제 숫자에서 D, S, L, R 각각의 계산을 진행한 수를 탐색해 나가는 알고리즘을 작성하였다.
Bruteforcing 방식으로 풀이하는 문제이다. Brute-Force : 완전탐색 알고리즘으로 볼 수 있다. 즉, 가능한 모든 경우의 수를 모두 탐색하면서 요구조건에
구현능력과 Brutforcing을 이용하는 문제이다. >Brute-Force : 완전탐색 알고리즘으로 볼 수 있다. 즉, 가능한 모든 경우의 수를 모두 탐색하면서 요구조건에
수학적 사고를 이용한 문제였다. 벌집이 중앙에 있는 방에서 멀어질 때마다 갖게 되는 패턴을 분석하였다.
자료 구조 (Date-Structure)를 이용하여 푸는 문제였다. Stack사용Stack : 한 쪽 끝에서만 자료를 넣고 뺄 수 있는 LIFO(Last In First Out) 를 따른다. 즉, 가장 최근에 스택에 추가한 항목이 가장 먼저 제거될 항목이다.
Bruteforcing 방식으로 풀이하는 문제이다. Brute-Force : 완전탐색 알고리즘으로 볼 수 있다. 즉, 가능한 모든 경우의 수를 모두 탐색하면서 요구조건에 충족되는 결과만을 가져온다.
자료 구조 (Date-Structure)를 이용하여 푸는 문제였다. Queue 사용 Queue : Queue(큐)는 순서를 따르는 자료구조 Queue(큐)는 앞(front)과 뒤(back)가 존재하며, 먼저 들어온 데이터가 먼저 빠져 나가는 선입선출
그래프 탐색을 이용해서 푸는 문제였다. DFS와 BFS 어느 탐색 알고리즘을 사용해도 상관 없었지만, 나는 BFS(큐 이용)를 이용하여 풀이하였다. 시작 노드는 언제나 1이므로 count만 이용해서 탐색한 컴퓨터의 수를 구하면 된다. (DFS와 BFS 로직에 관한 내용
문제 링크 : https://www.acmicpc.net/problem/12604 5 11 21 31 42 43 41 2 4 31 2 3 4linkedlist의 배열로 그래프를 선언했고, 노드의 수만큼 linkedlist를 생성했다. 그 후 간선은 양방향이므로
Bruteforcing 방식으로 풀이하는 문제이다. >Brute-Force : 완전탐색 알고리즘으로 볼 수 있다. 즉, 가능한 모든 경우의 수를 모두 탐색하면서 요구조건에 충족되는 결과만을 가져온다. 이 알고리즘의 강력한 점은 예외 없이 100%의 확률로 정답만을 출력
수학적 사고를 이용한 문제였다. 소수인 수의 개수를 구하는 문제였는데 (소수: 1보다 큰 자연수 중 1과 자기 자신만을 약수로 가지는 수) 풀이 방식이 다양했지만 나는 가장 먼저 떠오른 제곱근을 이용한 풀이를 선택하였다. > 1. 제곱근을 이용한 풀이 n이 소수이기
이분 탐색(Binary Search)을 이용한 문제였다. >이분탐색 (Binary Search) : 이진 탐색(이분 탐색) 알고리즘은 정렬되어 있는 리스트에서 탐색 범위를 절반씩 좁혀가며 데이터를 탐색하는 방법이다. 이진 탐색은 정렬된 데이터를 이용해 탐색하는
이분 탐색(Binary Search)을 이용한 문제였다. > 이분탐색 (Binary Search) : 이진 탐색(이분 탐색) 알고리즘은 정렬되어 있는 리스트에서 탐색 범위를 절반씩 좁혀가며 데이터를 탐색하는 방법이다.
자료 구조 (Date-Structure)를 이용하여 푸는 문제였다. Stack사용 > Stack : 한 쪽 끝에서만 자료를 넣고 뺄 수 있는 LIFO(Last In First Out) 형식의 자료 구조 스택(Stack)는 LIFO(Last In First Out)
수학적 사고를 이용한 문제였다. 이항 계수의 공식을 알고 이를 프로그래밍 언어로 풀어낼 수 있으면 해결 가능한 부분이었다. 분모와 분자 부분을 따로 구해서 나누는 방식으로 풀이했다.