문자열들의 길이를 세어 가장 많이 등장한 길이의 개수를 반환하는 함수 만들기.
이번 문제에서는 forEach 메서드를 사용해서 배열의 각 요소를 순회하면서 지정된 클로저를 실행할 수 있었다.
예를 들어, 아래와 같은 배열이 있을 때,
let numbers = [1, 2, 3, 4, 5]
이 배열의 각 요소를 출력하고 싶다면 아래와 같이 forEach 메서드를 사용하면 된다.
numbers.forEach { number in
print(number)
}
문자열 묶기 (shortcuts)
func solution(_ strArr:[String]) -> Int {
var arr = Array(repeating: 0, count: 31)
strArr.forEach { arr[$0.count] += 1 }
return arr.max()!
}
길이가 31인 배열 arr을 생성하고, 모든 요소를 0으로 초기화한 후 strArr을 순회하면서 각 문자열의 길이에 해당하는 arr의 인덱스에 1을 더해준다. 마지막으로 arr에서 가장 큰 값을 찾아서 반환!
arr.max() 메서드가 배열에서 가장 큰 값을 찾아준다 최종적으로 arr.max()!를 반환하면 끝!
'iOS 앱 개발자 프로젝트 > 알고리즘 코드카타' 카테고리의 다른 글
[Algorithm] 둘만의 암호 (w/ Swift & Python) (0) | 2024.03.21 |
---|---|
[Algorithm] 대충 만든 자판 (w/ Swift) (1) | 2024.03.20 |
[Algorithm] 아이스 아메리카노 (w/ Swift & Python) (0) | 2024.03.19 |
[Algorithm] 문자열 출력하기 (w/ Swift & Python) (0) | 2024.03.18 |
[Algorithm] 무작위로 K개의 수 뽑기 (w/ Swift & Python) (0) | 2024.03.17 |