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 } 을 통해 배열의 총합을 구할 수 있다.
참고