TIL(Today I Learned)

5월 3일(월)

학습내용

  • 제이콥이 진행하는 코딩테스트 스터디 참여.
    • 제이콥, 그린, 이니, 밤, 4명이 참여하였고, 1시간 동안 프로그래머스 Level 1 3문제를 풀었다. (정렬, 완전탐색, 탐욕법)
    • 정렬
      • sort() 는 기본적으로 오름차순 정렬이며, 기존의 배열을 정렬. 시간 복잡도는 nlogn.
      • sorted() 는 기본적으로 오름차순 정렬이며, 정렬된 배열을 반환. 시간 복잡도는 nlogn.
      • sort(by:)를 이용하여 정렬 클로저를 직접 입력할 수 있다.
      • max(), min()을 통해 Array의 최대, 최소값을 얻을 수 있다.
      • Array는 subscript에 range를 입력으로 함으로써 slicing이 가능하다. 예) array[0…3]
    • 완전탐색은 가능한 모든 경우의 수를 모두 따져보는 방법.
    • 탐욕법이란 현재 선택 할 수 있는 가장 최선의 방법을 선택하여 최종 답을 구하는 방법.

문제점/고민한점

  • 모든 배열 원소의 총합을 구하는 간단한 방법은?

해결방법

  • sum()이라는 메서드는 없으므로 reduce(0) { $0 + $1 } 을 통해 배열의 총합을 구할 수 있다.

참고