머릿속에 있는 알고리즘을 소스코드로 바꾸는 과정풀이를 떠올리는 것은 어렵지 않음소스코드로 옮기기 어려움ex. 완전 탐색, 시뮬레이션완전 탐색 : 모든 경우의 수를 주저 없이 다 계산하는 해결 방법시뮬레이션 : 문제에서 제시한 알고리즘을 한 단계씩 차례대로 직접 수행해야
알파벳 대문자와 숫자(0~9)로만 구성된 문자열이 입력으로 주어집니다. 이때 모든 알파벳을 오름차순으로 정렬하여 이어서 출력한 뒤에, 그 뒤에 모드 숫자를 더한 값을 이어서 출력합니다. 예를 들어 K1KA5CB7이라는 값이 들어오면 ABCKK13을 출력합니다.첫째 줄에
다차원 배열에서 각 칸을 방문할 때 너비를 우선으로 방문하는 알고리즘시작하는 칸을 큐에 넣고 방문했다는 표시를 남김큐에서 원소를 꺼내어 그 칸에 상하좌우로 인접한 칸에 대해 3번을 진행해당 칸을 이전에 방문했다면 아무 것도 하지 않고, 처음으로 방문했다면 방문했다는 표
DFS란? 다차원 배열에서 각 칸을 방문할 때 깊이를 우선으로 방문하는 알고리즘 예시 시작하는 칸을 스택에 넣고 방문했다는 표시를 남김 스택에서 원소를 꺼내어 그 칸과 상하좌우로 인접한 칸에 대해 3번을 진행 해당 칸을 이전에 방문했다면 아무 것도 하지 않고, 처
범위를 반씩 좁혀가는 탐색리스트 안에 있는 특정한 데이터를 찾기 위해 앞에서부터 데이터를 하나씩 차례대로 확인하는 방법코드 (Java)시간복잡도 : O(N)위치를 나타내는 변수 3개를 사용 (시작점, 끝점, 중간점)찾으려는 데이터와 중간점 위치에 있는 데이터를 반복적으
연산 속도와 메모리 공간을 최대한으로 활용할 수 있는 효율적인 알고리즘동적 계획법이라고도 표현2가지 방식 (탑 다운, 바텀 업)밑으로는 다이나믹 프로그래밍으로 해결할 수 있는 문제들이전 두 항의 합을 현재 항으로 설정하는 특징f (x) + f (x + 1) = f (x
가장 짧은 경로를 찾는 알고리즘각 지점은 그래프에서 노드로 표현하고 지점간 연결된 도로는 간선으로 표현함ex ) 마을과 마을을 있는 도로, 도시를 있는 통로 등등출발 노드에서 다른 모든 노드로 가는 최단경로를 계산 (음의 간선 x 경우)매 상황에서 가장 비용이 적은 노
그래프 : 노드와 노드 사이에 연결된 간선의 정보를 가지고 있는 자료구조노드 개수 V, 간선 개수 E 일때인접 행렬(Adjacency Matrix) : 2차원 배열을 사용하는 방식인접 리스트(Adjacency List) : 리스트를 사용하는 방식인접 리스트(Adjace