Skip to content

Latest commit

 

History

History
18 lines (17 loc) · 2.36 KB

06-ALGORITHM.md

File metadata and controls

18 lines (17 loc) · 2.36 KB

손코딩

생각날 때 마다 꾸준히 추가해보겠습니다...

  1. 각종 정렬 알고리즘을 구현해 보세요.
  2. 각종 자료구조 (ex. LinkedList, Queue, Stack, Tree, ...) 를 구현해 보세요.
  3. 배열에 1,000,000 개의 수가 있다고 가정할 때, 여기에서 원하는 수가 몇 번째 인덱스에 위치해 있는지 확인하는 프로그램을 작성해 보세요. (단, 원하는 수가 하나가 아닐 수 있습니다.)
  4. 20개의 숫자가 주어졌을 때, 이 수중 일부 숫자들을 더해서 원하는 수를 만들 수 있는지 확인하는 프로그램을 작성해 조세요.
  5. 1 ~ 999 까지의 아라비아 숫자가 주어졌을 때, 이 숫자를 로마숫자로 변환하는 프로그램을 작성해 보세요.
  6. 배열을 정렬하지 않고, 배열의 중앙값을 구하는 코드를 작성해 보세요.
  7. 알파벳으로 이뤄진 단어가 있을 때, 이 단어에서 중복된 값을 제거하고 오름차순으로 정렬하는 코드를 작성해 보세요. (단, 최대한 효율적으로 작성해 주세요.)
  8. 두 배열이 주어졌을 때, 이 배열의 교집합을 구하는 코드를 작성해 보세요. (단, 배열을 제외한 추가적인 자료구조는 사용하지 말아주세요.)
  9. 길이가 N인 배열이 있을 때, 이 배열에서 K 번째로 큰 수를 추출하는 프로그램을 작성해 보세요. (단, 시간복잡도는 O(NlogN) 보다 작아야 합니다.)
  10. 범위가 주어졌을 때 랜덤 함수를 사용하지 않고, 20개의 수를 랜덤으로 추첨해주는 프로그램을 작성해 보세요. (Hint: 시간)
  11. 2,000,000 자리의 숫자 여러개가 있고, 이 숫자들을 모두 더해야 한다고 합니다. 어떻게 코드를 작성하면 좋을까요? (Python을 사용하고 있다고 해도, 다른 언어의 long long 범위까지만 사용할 수 있다고 가정합시다.)
  12. 정렬된 두 LinkedList를 합쳐 하나의 정렬된 LinkedList로 만드는 코드를 작성해 보세요.
  13. 어떤 수가 주어졌을 때, 이 수의 소인수를 모두 구하는 코드를 작성해 보세요.
  14. 1 부터 1,000,000 까지의 수를 이어 붙인다고 가정할 때, 이 수에서 0이 몇 번이나 등장하는지 확인하는 코드를 작성해 보세요.
  15. 스택 두개로 큐를, 큐 두개로 스택을 구현하는 코드를 작성해 보세요.