1. 문자열 뒤집기
Q. 문자열 my_string이 매개변수로 주어집니다. my_string을 거꾸로 뒤집은 문자열을 return하도록 solution 함수를 완성해주세요.
func solution(_ my_string:String) -> String {
var result = ""
my_string.reversed().map {
result.append($0)
}
return result
}
A. 전달 받은 문자열을 reversed()로 뒤집은 후 고차함수 map으로 순회하며 result 문자열에 각 원소를 추가한 result를 반환하여 해결했다.
2. 직각삼각형 출력하기
Q. "*"의 높이와 너비를 1이라고 했을 때, "*"을 이용해 직각 이등변 삼각형을 그리려고합니다. 정수 n 이 주어지면 높이와 너비가 n 인 직각 이등변 삼각형을 출력하도록 코드를 작성해보세요.
let n = readLine()!.components(separatedBy: [" "]).map { Int($0)! }
for i in 1...n.first! {
print(String(repeating: "*", count: i))
}
A. for문을 통해 1부터 입력 받은 정수 n까지 반복하면서 String(repeating:count:)를 활용해
문제에서 요구하는 삼각형을 출력하여 해결했다.
feat.
String(repeating:count)는 문자열을 생성하는 방법 중 하나로,
주어진 문자를 지정된 횟수만큼 반복하여 나타내는 문자열을 생성한다.
3. 짝수 홀수 개수
Q. 정수가 담긴 리스트 num_list가 주어질 때, num_list의 원소 중 짝수와 홀수의 개수를 담은 배열을 return 하도록 solution 함수를 완성해보세요.
func solution(_ num_list:[Int]) -> [Int] {
let even = num_list.filter { $0 % 2 == 0 }
let odd = num_list.filter { $0 % 2 == 1 }
return [even.count, odd.count]
}
A. 고차함수 filter 활용하여 전달 받은 num_list에서 짝수와 홀수를 담은 배열을 각각의 변수에 저장했다.
그리고 각각의 변수에 저장된 배열의 길이를 배열로 담아 반환하여 해결했다.
feat.
위 코드의 변수명은 다음과 같다.
- even (짝수)
- odd (홀수)
4. 문자 반복 출력하기
Q. 문자열 my_string과 정수 n이 매개변수로 주어질 때, my_string에 들어있는 각 문자를 n만큼 반복한 문자열을 return 하도록 solution 함수를 완성해보세요.
func solution(_ my_string:String, _ n:Int) -> String {
return my_string.map { String(repeating: $0, count: n) }.joined(separator: "")
}
A. 고차함수 map을 활용하여 전달 받은 my_string를 순회하면서
String(repeating:count:)로 각 문자를 n만큼 반복하여 배열로 저장했다.
그리고 그 값을 joined(separator:)를 통해 배열의 원소들을 합친 값을 String 변환했고,
그 값을 반환하여 해결했다.
feat.
joined(separator:) 메서드는 전달한 구분 기호를 각 요소 사이에 삽입하여 시퀀스의 연결된 요소를 반환한다.
이를 활용하면, 배열의 원소들을 하나의 문자열로 손쉽게 변환할 수 있다.
오늘은 문제를 해결하면서 평소에는 잘 쓰지 않았던
Swift의 메서드들을 조금 알아보았다.
다양한 메서드가 있는 만큼 적절한 상황에 적절한 메서드를 사용하면
코드를 훨씬 효율적으로 작성할 수 있을 것 같다.
내일도 화이팅!
'Develop > Coding Test' 카테고리의 다른 글
코딩테스트 입문 (feat. Day 8 배열, 구현, 수학) (6) | 2024.11.15 |
---|---|
코딩 테스트 입문 (feat. Day 7 문자열, 조건문, 수학, 반복문) (2) | 2024.11.14 |
코딩 테스트 입문 (feat. Day 5 수학, 배열) (5) | 2024.11.12 |
코딩 테스트 입문 (feat. Day 4 수학, 배열) (0) | 2024.11.11 |
코딩 테스트 입문 (feat. Day 3 사칙연산, 배열, 수학) (3) | 2024.11.10 |