본문 바로가기
알고리즘/백준

[백준/Swift] 21955번: Split

by Callie_ 2024. 6. 17.

 

 

 

 

내 풀이:

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