algoritm
-
[구현] 상하좌우algoritm 2023. 9. 13. 00:04
구현알고리즘에는 시뮬레이션과 완전탐색이 있으며 아래 문제는 시뮬레이션 유형의 문제이다. - 일련의 명령에 따라 개체를 차례대로 이동시키는 문제 문제여행가 A는 N*N 정사각형 공간 위에 서있고, 가장 왼쪽 위 좌표는 (1,1)이며 , 가장 오른쪽 아래 좌표는 (N,N)이다. 여행가 A는 상하좌우 방향으로 이동할 수 있으며 시작 좌표는 (1,1)이다. 이때 여행가 A가 N*N 공간을 벗어나는 움직임은 무시한다. 입력 조건첫째줄에 공간의 크기를 나타내는 N이 정수로 주어진다. 둘째줄에 여행가 A가 이동할 계획서 내용이 R, L , U , D중에 공백을 두고 주어진다. 출력 조건첫째 줄에 여행가 A가 최종적으로 도착할 지점의 좌표 x,y를 출력한다. 입력조건 코드 구현N = int(input()) plans ..
-
[분할정복] merge sort (합병 정렬)algoritm 2023. 3. 20. 23:49
분할정복 알고리즘 -> 큰 문제를 작은 문제들로 분할하고, 작은 문제들을 해결한 뒤에 이들의 해답을 이용하여, 문제의 최종 해답을 구하는 알고리즘이다. 분할 : 더 이상 분할할 수 없을때까지 동일한 유형의 여러 하위 문제로 나눈다. 정복 : 가장 작은 단위의 하위 문제를 재귀적으로 해결한다. 조합 : 하위 문제에 대한 결과를 원래 문제에 대한 결과로 조합한다. 대표적인 예로 Quick Sort , Merge Sort , Binary Search 등이 있다. MergeSort 합병 정렬은 입력이 2개의 부분 문제로 분할되고, 부분 문제의 크기가 1/2로 감소하는 분할 정복 알고리즘이다. 1. 주어진 배열을 절반으로 분할하여 2개의 배열로 나눈다. (Divide) 2. 해당 부분 배열의 길이가 1이 아니라면..