문제 설명
String형 배열 seoul의 element중 "Kim"의 위치 x를 찾아, "김서방은 x에 있다"는 String을 반환하는 함수, solution을 완성하세요. seoul에 "Kim"은 오직 한 번만 나타나며 잘못된 값이 입력되는 경우는 없습니다.
제한 사항
seoul은 길이 1 이상, 1000 이하인 배열입니다.
seoul의 원소는 길이 1 이상, 20 이하인 문자열입니다.
"Kim"은 반드시 seoul 안에 포함되어 있습니다.
1차 코드
func solution(_ seoul:[String]) -> String {
var x = Int()
for i in 0..<seoul.count{
if seoul[i] == "Kim" {
x = i
break
}
}
return "김서방은 \(x)에 있다"
}
1차 결과
스크린샷을 찍지 못했지만 테스트 1번에서 시간 초과 오류가 났었다.
1차 수정
시간 초과의 이유를 도저히 모르겠다. for문을 ..<에서 그냥 카운트-1로 바꾸어봤다.
2차 코드
func solution(_ seoul:[String]) -> String {
var x = Int()
for i in 0...seoul.count-1{
if seoul[i] == "Kim" {
x = i
break
}
}
return "김서방은 \(x)에 있다"
}
2차 결과
보완점
다시 바꿔서 해보니 오류가 사라졌다. 왜 틀렸는지 고민할게 아니라 내 코드에 확신이 있었다면 굳이 수정안했을거같은데 왜 틀렸다고 무조건 확신했는지가 문제 아니었을까?
'iOS > Programmers' 카테고리의 다른 글
[Swift] lv.1 콜라츠 추측 | Programmers (0) | 2024.02.29 |
---|---|
[Swift] lv.1 시저 암호 | Programmers (2) | 2024.02.28 |
[Swift] lv.1 최소 직사각형 | Programmers (0) | 2024.02.27 |
[Swift] lv.1 음양 더하기 | Programmers (0) | 2024.02.27 |
[Swift] lv.1 크기가 작은 부분문자열 | Programmers (0) | 2024.02.26 |