func solution(_ s:String) -> Int {
var arr:[String] = []
var str = ""
var result:[Int] = []
//문자열 길이 반부터 시작
var len = s.count / 2
var count = 0
if s.count == 1 {
return 1
}else{
//생각해보니까 reversed사용 안해도 됐음
for i in (1...len).reversed(){
//길이만큼 나눠주기
for j in s {
str = str + String(j)
count = count + 1
if count == i {
count = 0
arr.append(str)
str = ""
}
}
////마지막 나머지문자열 넣어주기
if str.count != 0 {
arr.append(str)
}
//마지막에 빈문자열 넣어줘야 for문에서 ####### if문이 실행됨
arr.append("")
str = ""
count = 0
// print(arr)
var n = 1
var se = 0
var st = arr[0]
for i in 0...arr.count - 2 {
if arr[se] == arr[i + 1]{
n = n + 1
arr[i+1] = ""
}else {
//##################################3
if n != 1{
arr[se] = String(n) + st
}else {
}
st = arr[i + 1]
n = 1
se = i + 1
}
}
result.append(arr.joined().count)
arr = []
}
result.sort(by: <)
// print(result)
return result.first!
}
}
.. 확실이 레벨 2문제가 어렵긴 하네요 2시간이나 걸렸습니다. 이렇게 늦게 풀면 코딩 테스트를 통과나 할 수 있을런지 모르겠네요
'코테 > 프로그래머스' 카테고리의 다른 글
[프로그래머스] 멀쩡한사각형 스위프트 (0) | 2022.02.08 |
---|---|
[프로그래머스] 오픈채팅방 스위프트 (0) | 2022.02.07 |
[프로그래머스] 직사각형별찍기 스위프트 (레벨1 완) (0) | 2022.02.05 |
[프로그래머스] x만큼 간격이 있는 n개의 숫자 스위프트 (0) | 2022.02.05 |
[프로그래머스] 행렬의덧셈 스위프트 (0) | 2022.02.05 |
댓글