day1이 너무 빨리 끝나서 day2를 바로 시작

1. 덧셈식 출력하기

print(a, "+", b, "=", a+b)

입력 엔 출력 ~

 

2. 문자열 붙여서 출력

print(s1,s2, separator: "", terminator: "")

그냥 변수 하나로 붙여서 출력하는게 더 빨랐겠다 싶다

 

3. 문자열 돌리기

let s1 = readLine()!
for c in s1 {
    print(c)
}

이건 뭘 테스트하는지 모르겠다

 

4. 홀짝 구분하기

let a = Int(readLine()!)!

print(a,"is \(a%2 == 0 ? "even" : "odd")")

이번엔 나머지 연산자 문법 문제

 

5. 문자열 겹쳐쓰기

주어진 문자열에 지정한 인덱스부터 문자 변경하기

func solution(_ my_string:String, _ overwrite_string:String, _ s:Int) -> String {
  //my_string와 overwrite_string은 숫자와 알파벳으로 이루어져 있습니다.
  //1 ≤ overwrite_string의 길이 ≤ my_string의 길이 ≤ 1,000
  let regexPattern = "^[0-9a-zA-Z]*${1,1000}"
  guard let _ = my_string.range(of: regexPattern, options: .regularExpression) else {return ""}
  guard let _ = overwrite_string.range(of: regexPattern, options: .regularExpression) else {return ""}
  //0 ≤ s ≤ my_string의 길이 - overwrite_string의 길이
  guard my_string.count - overwrite_string.count >= 0 else { return "" }
  
  let overwrite_start_index = my_string.index(my_string.startIndex, offsetBy: s)
  let overwrite_end_index = my_string.index(overwrite_start_index, offsetBy: overwrite_string.count)
  
  let suffix = my_string[my_string.startIndex..<overwrite_start_index]
  let prefix = my_string[overwrite_end_index...]

  return String(suffix + overwrite_string + prefix)
}

처음 문제를 봤을때 덮어쓰는 단어의 시작과 끝 인덱스를 구해서 그대로 더하면 되겠다해서 제출했고 앞부분의 제한사항은 그냥 넣어봤다 문제 자체답에는 없어도 무방.

타인의 답으로는 replaceSubrange라는걸 이용한 엄청간단해보이는것과 prefix(s),suffix(x) 라는 걸로 제출되어있다

내가 하려던게 이미 구현되어있구나하고 모르는게 많았구나 싶다.

 

'iOS > 프로그래머스 - 코딩테스트 문제' 카테고리의 다른 글

5. day5 조건문, day6 조건문 반복문  (0) 2024.06.26
4. day3 연산, day4 연산 조건문  (0) 2024.06.25
2. day1 출력  (0) 2024.06.24
1-1. 잡담  (0) 2024.06.24
1. [PCCE 기출문제] 1번 / 출력  (0) 2024.06.24

+ Recent posts