전체 글

전체 글

    [BOJ/백준] 10844번 쉬운 계단 수 (Python 파이썬)

    https://www.acmicpc.net/problem/10844 10844번: 쉬운 계단 수 첫째 줄에 정답을 1,000,000,000으로 나눈 나머지를 출력한다. www.acmicpc.net 문제 45656이란 수를 보자. 이 수는 인접한 모든 자리의 차이가 1이다. 이런 수를 계단 수라고 한다. N이 주어질 때, 길이가 N인 계단 수가 총 몇 개 있는지 구해보자. 0으로 시작하는 수는 계단수가 아니다. 입력 첫째 줄에 N이 주어진다. N은 1보다 크거나 같고, 100보다 작거나 같은 자연수이다. 출력 첫째 줄에 정답을 1,000,000,000으로 나눈 나머지를 출력한다. 예제 입력 1 1 예제 출력 1 9 예제 입력 2 2 예제 출력 2 17 풀이 문제의 조건을 따라서 경우의 수를 나열해 보면 아..

    [BOJ/백준] 11057번 오르막 수 (Python 파이썬)

    https://www.acmicpc.net/problem/11057 11057번: 오르막 수 오르막 수는 수의 자리가 오름차순을 이루는 수를 말한다. 이때, 인접한 수가 같아도 오름차순으로 친다. 예를 들어, 2234와 3678, 11119는 오르막 수이지만, 2232, 3676, 91111은 오르막 수가 아니다. 수 www.acmicpc.net 시간 제한 메모리 제한 제출 정답 맞힌 사람 정답 비율 1 초 256 MB 44236 21615 16705 47.658% 문제 오르막 수는 수의 자리가 오름차순을 이루는 수를 말한다. 이때, 인접한 수가 같아도 오름차순으로 친다. 예를 들어, 2234와 3678, 11119는 오르막 수이지만, 2232, 3676, 91111은 오르막 수가 아니다. 수의 길이 N..

    [Algorithm] 퀵 정렬(Quick sort) 알고리즘

    Quick sort Idea 퀵 정렬은 기본적으로 분할 정복 (Devide and Conquer) 기법과 재귀를 이용한 정렬 알고리즘입니다. Pivot이라는 것을 사용하여 정렬의 기준을 정하게 됩니다. 그리고 그 pivot을 기준으로 “작은 group”, “큰 group”을 나누고, 분할 정복 기법을 이용하여 각각을 해결하는 방식입니다. 6 1 5 11 16 [7] 10 13 위와 같은 숫자 배열을 정렬하고자 할 때, 아무 값이나 pivot으로 선정합니다. 저는 7을 선정하였습니다. pivot을 선정하면, 해당 pivot을 기준으로 작은 값들과 큰 값들을 분류하여 각각 왼쪽, 오른쪽에 위치시킵니다. 6 1 5 [7] 11 16 10 13 그럼, [6,1,5]는 작은 group, [11,16,10,13]은..

    [Algorithm] 선택 정렬, 버블 정렬, 삽입 정렬 알고리즘

    선택 정렬 Idea 선택 정렬은 주어진 값들 중 최소값을 맨 앞으로 땡겨와서 정렬하는 방법입니다. 170cm, 180cm, 150cm, 160cm 예를 들어 4명의 사람을 키 순서로 정렬하고자 할 때, 선택 정렬의 방식을 따른다면, 우선 150cm을 맨 앞에 세우고 나머지 3명의 키를 비교합니다. 150cm[정렬 완료] || 170cm, 180cm, 160cm 3명 중에서는 160cm가 가장 작으므로 앞쪽으로 땡겨오고, 먼저 앞으로 간 150cm 뒤에 위치하도록 합니다. 150cm, 160cm[정렬 완료] || 170cm, 180cm 이를 반복하면 최종적으로 키 순서대로 사람들이 정렬될 것입니다. Code 이를 코드로 구현하면 다음과 같습니다. def selection_sort(people): lengt..

    [Cloud computing] 10. Coordination

    Reference 1. Thomas Erl_ Zaigham Mahmood_ Ricardo Puttini - Cloud Computing_ Concepts, Technology & Architecture-Prentice Hall, 2. Cloud Computing class by Professor Heonchang-Yu of the Department of Computer Science and Engineering at Korea University 3. DIstributed Systems: Concepts and Design (5th Ed), PEARSON, 2001 Introduction non-distributed system에서의 Concurrency control을 먼저 정리하자. 공유 변수가 있..

    [컴퓨터 구조] Ch8. Memory and I/O Systems(2) Virtual memory

    이전 posting 이어서 작성. Refrence : David Harris, Sarah Harris - Digital Design and Computer Architecture 8.4 Virtual Memory memory를 실제 용량보다 더욱 커보이게 만드는 방법 Virtual address program은 virtual address를 사용한다. virtual address space는 모두 hard drive에 저장된다. 일부는 DRAM에 올려둔다. (DRAM부터 접근, 없으면 hard drive) CPU는 virtual address → physical address 로 변역하여 사용한다. Memory protection 각 program은 각자의 virtual - physical mapping..

    [컴퓨터 구조] Ch8. Memory and I/O Systems(1) - Cache

    Refrence : David Harris, Sarah Harris - Digital Design and Computer Architecture Topics Memory System Performance Analysis Caches Virtual Memory Memory-Mapped IO 8.1 Introduction 컴퓨터의 성능은 다음 요소에 의해 결정된다. Processor performance Memory system performance ⇒ 하지만, 기술이 발전하면서 single core 성능을 높이는데 한계에 달았고, 이제memory system의 성능을 높이는 것이 중요하다. ⇒ 빠르고, 싸며, 용량이 큰 이상적인 메모리를 만들어야 하지만, 세가지 요소를 모두 충족시킬 수 없어 2가지만을 충..

    [데이터베이스] Chapter 19. Recovery System

    Reference 1. Database System Concepts-Abraham Silberschatz, Henry Korth, S. Sudarshan 2. Database System class by Professor Yon Dohn Chung, Department of Computer Science and Engineering, Korea University 중요한 내용 위주로 요약 & 정리하였습니다. Topic Failure Classification Storage Structure Recovery and Atomicity Log-Based Recovery Checkpointing 19.1 Failure Classification Transaction failure : logical error, ..