스파르타 코딩 클럽 - iOS 스타터 6기/알고리즘 코드카타
16. 스파르타 코딩 클럽 - 4월 1일 코딩테스트 연습 (코드카타)
seongpil Heo
2025. 4. 1. 09:52
❓ 오늘의 문제
1. 뒤집힌 문자열
- 문자열 my_string이 매개변수로 주어집니다. my_string을 거꾸로 뒤집은 문자열을 return 하도록 solution 함수를 완성해 주세요.
[ 방법 1 ]
나의 정답 코드
import Foundation
func solution(_ my_string: String) -> String {
guard my_string.count >= 1 && my_string.count <= 1000 else { return "" }
var array: [String] = []
var reverseArray: [String] = []
// 문자열을 배열로 변환
for i in my_string {
array.append(String(i))
}
// 배열을 거꾸로 순회하며 새로운 배열에 추가
for j in stride(from: array.count - 1, through: 0, by: -1) {
reverseArray.append(array[j])
}
return reverseArray.joined()
}
[ 방법 2 ]
나의 정답 코드
import Foundation
func solution(_ my_string:String) -> String {
guard my_string.count >= 1 && my_string.count <= 1000 else { return "" }
return String(my_string.reversed())
}
✓ TIL
오늘은 뒤집힌 문자열이라는 문제를 풀어보았다.
문자열이 주어질 때 그 문자열을 거꾸로 뒤집은 문자열을 return 하면 된다.
처음 문제를 봤을 때, 배열을 이용해서 빈 배열에 문자열을 넣고
배열의 크기만큼 For문을 돌려서 인덱스를 배열의 count - 1에서 0까지 출력을 한 뒤 다시 문자열로 만들어야 하나 생각했었다.
그래서 방법 1과 같은 코드로 문제를 풀어보았다.
배열을 만들어서 문제를 풀고 배열의 함수들을 찾아보고 있었는데 reversed()라는 함수를 찾았다.
reversed 함수를 이용하면 너무 쉽게 문제가 해결이 되었다.
그냥 문자열 매개변수 my_string.reversed()를 실행하면 내가 원하는 뒤집힌 문자열의 결과를 찾을 수 있었다.
이 함수를 사용하면 20줄이던 코드가 6줄로 확 줄게 된다.
가독성도 좋고 효율도 좋기 때문에 자주 사용해야겠다.