가장 작은 값을 탐색한다음 Swap을 통해 앞부분에 배치시키는 정렬방식과정1\. 주어진 리스트 중에 최소값을 찾기2\. 그 값을 맨 앞에 위치한 값과 교체(패스(pass)).3\. 맨 처음 위치를 뺀 나머지 리스트를 같은 방법으로 교체o(n2)o(n2)o(n2)코드 구
배열의 두 인접한 요소들을 비교하여 가장 큰 값이 배열의 가장 뒷 번째 index로 정렬 후 이를 반복하여 배열을 정렬하는 기법과정1\. 두 인접 요소를 비교2\. 만약 배열의 n번째 인덱스 값보다 n+1번째 인덱스 값이 더 클 경우 n번째 값과 n+1번째 값을 서로
음수로 된 element들이 차례로 왼쪽으로 정렬되도록 하는 문제정렬하는 방식은 기존 bubble sort와 동일단, 인접한 요소들이 각각 양수, 음수 인 경우 그 요소들을 서로 swap반복
손 안의 카드를 정렬하는 방법과 유사(새로운 카드를 뽑으면 그 카드를 크기에 맞춰 정렬)자료 배열의 모든 요소를 앞에서부터 차례대로 이미 정렬된 배열 부분과 비교하여, 자신의 위치를 찾아 삽입함으로써 정렬을 완성하는 알고리즘매 순서마다 해당 원소를 삽입 할 수 있는 위
캐시메모리는 CPU와 주기억장치(DRAM) 사이의 고속의 임시 메모리로서 CPU가 처리할 작업 을 저장해 놓았다가 필요할 바로 사용해서 처리속도를 높이는 장치이다. 워낙 비싸고 용량이 작아 효율적으로 사용해야 한다. 철수의 컴퓨터는 캐시메모리 사용 규칙이 LRU 알고리
새 학기가 시작되었습니다. 현수는 새 짝꿍을 만나 너무 신이 났습니다. 현수네 반에는 N명의 학생들이 있습니다. 선생님은 반 학생들에게 반 번호를 정해 주기 위해 운동장에 반 학생들을 키가 가장 작은 학생부터 일렬로 키순으로 세웠습니다. 제일 앞에 가장 작은 학생부터
N개의 평면상의 좌표(x, y)가 주어지면 모든 좌표를 오름차순으로 정렬하는 프로그램을 작성하 세요. 정렬기준은 먼저 x값의 의해서 정렬하고, x값이 같을 경우 y값에 의해 정렬합니다.첫째 줄에 좌표의 개수인 N(3<=N<=100,000)이 주어집니다.두 번
한 개의 회의실이 있는데 이를 사용하고자 하는 n개의 회의들에 대하여 회의실 사용표를 만들 려고 한다. 각 회의에 대해 시작시간과 끝나는 시간이 주어져 있고, 각 회의가 겹치지 않게 하 면서 회의실을 사용할 수 있는 최대수의 회의를 찾아라. 단, 회의는 한번 시작하면
현수는 다음 달에 결혼을 합니다.현수는 결혼식 피로연을 장소를 빌려 3일간 쉬지 않고 하려고 합니다.피로연에 참석하는 친구들 N명의 참석하는 시간정보를 현수는 친구들에게 미리 요구했습니다. 각 친구들은 자신이 몇 시에 도착해서 몇 시에 떠날 것인지 현수에게 알려주었습니
임의의 N개의 숫자가 입력으로 주어집니다. N개의 수를 오름차순으로 정렬한 다음 N개의 수 중 한 개의 수인 M이 주어지면 이분검색으로 M이 정렬된 상태에서 몇 번째에 있는지 구하는 프로그램을 작성하세요. 단 중복값은 존재하지 않습니다.첫 줄에 한 줄에 자연수 N(3&
퀵 소트Big O알고리즘퀵 소트 구현피벗을 기준으로 목록을 큰 값과 작은 값으로 나누어 정렬하는 기법불안정 정렬 중 하나분할 정복 알고리즘으로, 평균적으로 매우 빠른 수행 속도의 정렬이 가능Best CaseO(nlogn)Worst Case (이미 정렬된 배열을 정렬하는
합병 정렬 & 합병 정렬의 특징Big O알고리즘 소스 코드하나의 리스트를 두 개의 균등한 크기로 분할 후 분할 된 부분 리스트를 정렬두 개의 정렬 된 부분 리스트를 합하여 전체가 정렬된 리스트가 되게 하는 법분할 정복 알고리즘 중 하나 => 분할 정복 - 문제를 작
N(1<=N<=100)개의 정수를 입력받아, 자신의 바로 앞 수보다 큰 수만 출력하는 프로그램을 작 성하세요.(첫 번째 수는 무조건 출력한다)첫 줄에 자연수 N이 주어지고, 그 다음 줄에 N개의 정수가 입력된다.자신의 바로 앞 수보다 큰 수만 한 줄로 출력한
선생님이 N(1<=N<=1000)명의 학생을 일렬로 세웠습니다. 일렬로 서 있는 학생의 키가 앞에 서부터 순서대로 주어질 때, 맨 앞에 서 있는 선생님이 볼 수 있는 학생의 수를 구하는 프로그 램을 작성하세요. (앞에 서 있는 사람들보다 크면 보이고, 작거나
첫 번째 줄에 게임 횟수인 자연수 N(1<=N<=100)이 주어집니다. 두 번째 줄에는 A가 낸 가위, 바위, 보 정보가 N개 주어집니다. 세 번째 줄에는 B가 낸 가위, 바위, 보 정보가 N개 주어집니다.각 줄에 각 회의 승자를 출력합니다. 비겼을 경우는
가장 윗줄에 1부터 N까지의 숫자가 한 개씩 적혀 있다. 그리고 둘째 줄부터 차례대로 파스칼 의 삼각형처럼 위의 두개를 더한 값이 저장되게 된다. 예를 들어 N이 4 이고 가장 윗 줄에 3 1 2 4 가 있다고 했을 때, 다음과 같은 삼각형이 그려진다.N과 가장 밑에
BFS에 대해 알아보자
BFS의 대표적인 문제인 최단거리 찾기
섬나라 아일랜드를 DFS로 풀이 해보자.
DP(Dynamic Programming)에 대해 이해해보자.
LIS(최대 부분 증가 수열)을 DP로 풀어보자.
투 포인터 알고리즘에 대해 알아봅니다.