1. 문자열 단순구현 유형
ex) 카카오 기출문제 - 신규 아이디 추천 (7단계에 걸쳐 사용자가 만드려는 아이디 규칙에 따라 수정해 새로운 아이디 추천)
기본 String 관련 함수들 잘 정리해두고 복습
equals length uppercase lowercase
indexof 문자열 내 다른 문자열 존재하는지 판단할 때
substring 스트링 일부 추출
replace 문자열 일부 찾아 대체 - replaceoccurencesof
trim 앞뒤 공백 제거 함수
compareTo 두 문자열의 아스키 순서 비교 (알파벳 순서 비교)
split containts charAt startsWith endsWith
2. 문자열 + 기타 알고리즘 유형(해시, 정렬, DFS 등)
ex) 카카오 문제 신고 결과 받기
문자열 parsing => indexOf + substring 사용
+ 해시
참고 : 개발자로 취직하기
.first / .last :Character?
The first element of the collection.
dropFirst() O(1)
dropLast() O(1)
func dropFirst(_ k: Int = 1) -> Substring
let str = "Hello World"
let substring = str.dropFirst(5)
let string = String(substring)
print(string) //" World"
print(String(str.dropFirst())) //"ello World"
print(String(str.dropFirst(20))) //""
String에 dropFirst() / dropLast() 함수를 적용하면 결과값이 Substring으로 반환된다.
따라서 변환 후 String형식으로 사용하고 싶다면 Sutstring을 String 타입으로 다시 변환을 해주어야 한다.
그리고 실제 변환하려는 String의 길이보다 dropFirst() / dropLast() 속에 들어가는 인자의 크기가 더 크다 하더라도 에러가 나지 않고 그냥 빈 String ""를 반환한다.
split()
func split(separator: Character) -> [Substring]
Substring으로 반환이 되기 때문에 String으로 사용하려면 형 변환을 해주어야 한다.
let str = "apple orange"
print(str.split(separator: " ")[0]) //apple
print(str.split(separator: " ")[1]) //orange
let arr = str.split(separator: " ").map { String($0) }
print(arr[0]) //apple
print(arr[1]) //orange
prefix / suffix O(1)
func prefix(_ maxLength: Int) -> Substring
func suffix(_ maxLength: Int) -> Substring
prefix( ) : 앞에서부터 몇글자 만큼의 Substring 반환
suffix( ) : 뒤에서부터 몇글자 만큼의 Substring 반환
func hasPrefix(_ prefix: String) -> Bool
func hasSuffix(_ suffix: String) -> Bool
hasPrefix( ) : 특정 prefix(문자열) 로 시작하는 문자열인지 판단하여 Bool 값을 반환
hasSuffix( ) : 특정 suffix(문자열) 로 끝나는 문자열인지 판단하여 Bool 값을 반환
let str = "abcdefj"
print(str.prefix(3)) //abc
print(str.hasSuffix("efj")) //true
'Algorithm > 참고' 카테고리의 다른 글
[Swift] 2진수 변환 radix (0) | 2022.02.09 |
---|---|
[Swift] reversed() (1) | 2022.01.16 |
[Swift] Array 배열 관련 함수들 (0) | 2022.01.06 |
Swift 정규식 NSRegularExpression (0) | 2022.01.04 |
[Swift iOS] Dictionary 사용법 + dictionaries inside array (0) | 2021.09.10 |