Where who wants to meet someone
5명씩 본문
728x90
문제
https://school.programmers.co.kr/learn/courses/30/lessons/181886
프로그래머스
코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.
programmers.co.kr
내 답안 / 다른 사람들의 답안
import Foundation
func solution(_ names:[String]) -> [String] {
return stride(from: 0, to: names.count, by: 5).map { names[$0] }
}
- 5명씩 끊었을 때 맨 앞의 사람이 누구인지가 필요한 것이므로 인덱스 5 간격으로 요소를 추출하면 좋겠다 생각
- stride를 통해 인덱스 0부터 names의 인덱스 범위 내에서 5 간격으로 수를 뽑고, names의 해당 인덱스 요소를 배열로 담아 반환
// 많은 사람들이 사용한 풀이
import Foundation
func solution(_ names:[String]) -> [String] {
return names.enumerated().filter {
$0.offset % 5 == 0
}.map { $0.element }
}
// 그 다음 풀이
import Foundation
func solution(_ names:[String]) -> [String] {
return stride(from: 0, to: names.count, by: 5).map { names[$0] }
}
- 첫 번째 풀이는 enumerated를 통해 offset과 element의 짝으로 만들어서 offset을 5로 나눴을 때 나머지가 0인 항목의 짝만 모아 해당 짝의 element를 반환하는 방법을 사용
점수: +2
'프로그래머스 알고리즘 문제 기록 > 코딩 기초 트레이닝' 카테고리의 다른 글
n보다 커질 때까지 더하기 (0) | 2024.01.25 |
---|---|
할 일 목록 (1) | 2024.01.25 |
홀수 vs 짝수 (0) | 2024.01.25 |
n개 간격의 원소들 (1) | 2024.01.24 |
n 번째 원소까지 (2) | 2024.01.24 |