본문 바로가기

전체 글

17256 달달함이 넘쳐흘러 등호 조건 확인하고 케이크 연산만 잘 보면 된다. 쉽다 생각했는데 눈이 침침해서 케이크 연산 기호를 잘 못봤다. 조건은 잘 확인하도록 하자. 케이크 수 b는 이렇게 구할 수 있으므로 이걸 코드로 짜보면 아래와 같다. #include int main() { int ax, ay, az; int cx, cy, cz; scanf("%d %d %d", &ax, &ay, &az); scanf("%d %d %d", &cx, &cy, &cz); printf("%d %d %d", cx-az, cy/ay, cz-ax); } 더보기
14652 나는 행복합니다~ 위치를 가로로 보면 4칸씩 들어가고 남은 3자리를 채운 자리가 6이었다. 그럼 (n, m)의 m은 4로 나눈 나머지라 판단했다. 그리고 별 생각없이 n도 그렇겠지 하고 예제로 계산을 해봤다. 그랬더니 3 4 6일 경우에는 맞는데 6 4 14일 경우에는 값이 다르게 나왔다. 그제서야 아 n은 아니구나 싶어 다시 생각했다. 세로를 보면 2칸인데 앞의 한 칸은 6을 4로 나눈 몫과 같다고 생각했다. 그리고 나머지 1칸도 더하면 n을 구할 수 있다. -> 아 아니었다. 0부터 시작하니깐 1을 안 더하고 그냥 몫이 n값이 된다. #include int main() { int N, M, P; scanf("%d %d %d", &N, &M, &P); printf("%d %d", P/M, P%M); } 더보기
Quick Sort 🌲 Quick Sort by Hoare (1962) Strategy Choose a pivot item randomly Partition into 2 subarrays Sort each subarray recursively Ex 15 22 13 27 12 10 20 25 15 : pivot item 1. partition 10 13 12 15 22 27 20 25 remember pivot's position 2. Sort subarrays recursively 10 12 13 15 20 22 25 27 procedure quicksort (low, high, index); var pivotpoint : index; begin if high > low then { partition(low, high, p.. 더보기
Binary search 🎲 Binary search Task Assume that we have n ≥ 1 distinct integers that are already sorted and stored in the array list For a given integer m, we want to know whether there is 1 such that list[i] = m Input : a sorted array list[i], 0 ≤ i < n, an integer m Output: i if list[i] = m, -1 if there is no such i Specification let left = 0, rigth = n - 1, middle = (left + rigth) / 2 1. If m < list[middle].. 더보기
Selection sort Selection sort Task : From those integers that are currently unsorted, find the smallest and place it next in the sorted list Input: n integers are stored in an array list[i], 0 ≤ i < n Output: a sorted list[i], 0 ≤ i < n Specification for (i = 0; i < n; i++){ Examine list[i] to list[n-1] and supposed that the smallest integer is at list[min]; Interchange list[i] and list[min]; } 정렬이 안 돼있는 숫자들 중.. 더보기