reduce
-
ReduceSwift 2020. 8. 4. 15:22
Reduce에 대해 알아보겠습니다! Reduce 정의부터 살펴볼까요?? 직역해보면 연속된 원소들을 클로저를 이용해 결합시키고 그 결과를 리턴한다. 정도로 이해할 수 있을 것 같아요. reduce는 2개의 파라미터 initialResult, nextPartialResult 와 1개의 Result 를 return 합니다. 공통점이 보이시나요? 네 파라미터와 결과가 모두 어떤 Result 들을 리턴하고 있습니다. reduce를 사용하는 목적을 생각해볼까요? 위 정의의 Return Value 를 보면 the final accumulated value, 최종적으로 계산된 값을 리턴한다고 나와있습니다. 단계 단계가 다 결과이니 만약 시퀀스의 원소가 없다면, 즉 nextPartialResult가 없으면, 초기값(초기..
-
Programmers) Lv2 가장 큰 수Algorithm/Programmers 2020. 5. 1. 11:06
출처: https://programmers.co.kr/learn/courses/30/lessons/42746 분류: Lv2, 정렬 접근방식 주어진 수로 만들 수 있는 가장 큰 수를 구하는 문제입니다. 처음엔 첫 자리부터 비교하려고 했었는데요, 이렇게 하면 매우 복잡해집니다. 우선 앞 자리부터 비교하기가 어렵습니다. 길이를 알면 자리수로 나눠볼텐데 그것도 안되고 뒤집자니 뒤가 0이라면 날라갈테고 문자열로 바꿔서 한 자리씩 비교하더라도 각각의 길이가 다르기 때문에 어렵습니다. 무작정 길이가 짧다고 앞에 둘 수가 없습니다. 가령, [5, 559] 가 있다면 5559 < 5595 가 되어버립니다. 중간에 0이 껴있는 경우는 어떻게 처리 할 것이며... 네 첫 단추를 잘못 끼웠습니다... 결국 다른 분들의 풀이를..