내 풀이:
let numbers = readLine()!
let point = numbers.count / 2
var first = 0
var second = 0
if numbers.count % 2 == 0 {
first += Int(numbers.prefix(point))!
second += Int(numbers.suffix(point))!
}
print(first)
print(second)
풀이:
prefix와 suffix의 이해가 중요한 문제였다. 두 가지 모두 컬렉션에서 지정한 숫자만큼 문자열이나 숫자를 슬라이싱 해주는 역할을 한다.
Prefix
컬렉션의 원소를 지정한 숫자만큼 컬렉션내 앞에서부터 count만큼 반환한다.
// 사용
collection.prefix(n)
// 예제
let kia = "Kia Tigers!"
kia.prefix(3) // kia
let num = ["1", "2", "3", "4", "5"]
num.prefix(2) // 1, 2
-- prefix가 컬렉션 수보다 클 때는 전체를 반환한다. (suffix도 동일!)
Suffix
컬렉션의 원소를 지정한 숫자만큼 컬렉션내 뒤에서부터 count만큼 반환한다.
// 사용
collection.suffix(n)
// 예제
let kia = "Kia Tigers!"
kia.suffix(7) // Tigers!
let num = ["1", "2", "3", "4", "5"]
num.suffix(3) // 3, 4, 5
개념 참조:
https://sheep1sik.tistory.com/m/122
[ Swift ] prefix와 suffix
Swift에서 prefix와 suffix는 컬렉션(예: 문자열, 배열 등)의 처음 또는 마지막 몇 개의 요소를 가져오는 데 사용됩니다. 이 함수들은 매우 유용하며, 주로 슬라이싱(slicing) 작업에 활용됩니다. prefixpre
sheep1sik.tistory.com