본문 바로가기

반응형

알고리즘

(4)
정수 삼각형 https://programmers.co.kr/learn/courses/30/lessons/43105 코딩테스트 연습 - 정수 삼각형 [[7], [3, 8], [8, 1, 0], [2, 7, 4, 4], [4, 5, 2, 6, 5]] 30 programmers.co.kr 문제 설명 위와 같은 삼각형의 꼭대기에서 바닥까지 이어지는 경로 중, 거쳐간 숫자의 합이 가장 큰 경우를 찾아보려고 합니다. 아래 칸으로 이동할 때는 대각선 방향으로 한 칸 오른쪽 또는 왼쪽으로만 이동 가능합니다. 예를 들어 3에서는 그 아래칸의 8 또는 1로만 이동이 가능합니다. 삼각형의 정보가 담긴 배열 triangle이 매개변수로 주어질 때, 거쳐간 숫자의 최댓값을 return 하도록 solution 함수를 완성하세요. 제한사항 삼..
N으로 표현 https://programmers.co.kr/learn/courses/30/lessons/42895 코딩테스트 연습 - N으로 표현 programmers.co.kr 문제 설명 아래와 같이 5와 사칙연산만으로 12를 표현할 수 있습니다. 12 = 5 + 5 + (5 / 5) + (5 / 5) 12 = 55 / 5 + 5 / 5 12 = (55 + 5) / 5 5를 사용한 횟수는 각각 6,5,4 입니다. 그리고 이중 가장 작은 경우는 4입니다. 이처럼 숫자 N과 number가 주어질 때, N과 사칙연산만 사용해서 표현 할 수 있는 방법 중 N 사용횟수의 최솟값을 return 하도록 solution 함수를 작성하세요. 제한사항 N은 1 이상 9 이하입니다. number는 1 이상 32,000 이하입니다. 수..
삽입 정렬 (Insertion Sort) #Insertion_Sort " 리스트에 있는 값들을 왼 쪽부터 탐색하면서 정렬되어야 할 위치로 옮겨주자! " #Sudo_code 리스트에 있는 값들 중 맨 왼 쪽에 있는 index 값과 index+1을 한 바로 오른 쪽의 값을 비교해 준다. 만약 index의 값이 index+1의 값 보다 클 경우 해당 값을 서로 swap 해주고, 비교해 줄 index를 줄여준다. 2번 과정을 진행(index가 줄어드는 것)을 통해 index의 왼쪽에 정렬 되었던 값들과 비교를 또 진행해서 왼쪽의 정렬을 완성 해준다. 리스트 길이의 -1만큼 위 과정을 진행한다. 그 이유는 해당 과정이 진행 될 때 비교할 index를 기준으로 왼쪽에는 정렬된 리스트이기 때문에 이미 비교를 진행했기 때문이다.(설명 부족 ㅠ 느낌만 이해) ..
선택 정렬 (Selection Sort) #Selection_Sort " 리스트의 값들 중 가장 작은 값들을 선택해 순서대로 맨 앞으로 보낸다. " #Sudo_code 리스트의 길이 만큼 진행한다. 최소값 min 값을 처음에 무엇과 비교해도 가장 큰 값을 넣는다. 배열을 처음부터 탐색을 진행하면서, 해당 index에 들어 있는 값과 min 값을 비교해 계속해서 min을 최신화시켜준다. 한 번의 루프를 돌아 만들어진 index의 값은 최소 값 min이 들어간 값이기 때문에 리스트의 맨 앞의 값과 swap 해준다. 1 ~ 4번의 과정을 리스트의 길이 만큼 반복하면서 오름차순으로 정렬한다. #Code 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 #include int main(){ int..

반응형