[Swift 코테 기초] String 공백 없이 쪼개기, 내림차순정렬, print문 terminator

2022. 6. 2. 23:14Swift 코딩테스트/Swift 코테 기초

728x90

1. String을 공백 없이 쪼개는 방법

1-1 보다 더 간편한 방법을 찾았다.

var string1 = Array(readLine()!)
//["A", "B", "C", "D", "E", "F"]

var string2 = "ABCDEF".map{String($0)}  
//["A", "B", "C", "D", "E", "F"]

+ Int형으로 변환

var string = "12345".map{Int(String($0))!}
//[1, 2, 3, 4, 5]

 

1-1. 참고

1. 123456 -> [1,2,3,4,5,6] 으로 변환하는 방법

var num: String = readLine()!
var arr = [Character]()

for index in 0..<num.count{
    var temp = num[num.index(num.startIndex, offsetBy: index)]
    arr.append(temp)
}

2. 숫자는 이 방법으로 변환 불가능하기 때문에 아래와 같은 결과를 얻을 수 있다.

["1", "2", "3", "4", "5", "6"]

3. Character -> Int 형 변환: map을 사용해서 - character -> string -> int의 과정이 필요하다.

var sorted_arr = arr.map({(value: Character) -> Int in
    return Int(String(value))!
})

//[1, 2, 3, 4, 5, 6]

[참고 사이트]

https://llldddjjj.tistory.com/entry/SwiftString-문자열-하나씩-쪼개기

 

 

2. 내림차순 정렬

sorted_arr = sorted_arr.sorted(by: >)
//[6, 5, 4, 3, 2, 1]

sorted 함수는 결과값을 저장해야 활용할 수 있다.

 

 

 

3. 문자열 말고 print하기: terminator을 이용해서

[6, 5, 4, 3, 2, 1]을

6
5
4
3
2
1

말고

654321

으로 출력하기

for i in sorted_arr{
    print(i, separator: ",", terminator: "")
}

sorted_arr.forEach {
    print($0, terminator: " ")
}

 

728x90