기존대로 라면 하루에 day가 2일씩 열릴텐데 9일을 그냥 넘겨버렸다

이전에 미리 풀어놨던 문제들로 가득 차버리면 해당날짜가 된다해도 그냥 넘어가버리는듯하다

그래서 한문제만 적어야지 했던 포스트가 늘어나버리고...

1. qr code

문자열 순회

  var result: String = ""
  for (i, char) in Array<String.Element>(code).enumerated() {
    if i % q == r {
      result.append(String(char))
    }
  }
  return result
 

별 생각없이 배열로 만들고 돌렸는데

그냥 첫줄부터 filter로 빼서 반환해줬으면 두줄로 끝났을거같다

 

2. 문자 개수 세기

A~Z,a~z 의 알파벳 숫자 세는 문제

  let arr: [String.Element] = .init(my_string)
  var bigResult: [Int] = [], smallResult: [Int] = []
  let bigRange = UnicodeScalar("A").value...UnicodeScalar("Z").value
  for cValue in bigRange {
    let c: String = String(UnicodeScalar(cValue)!)
    let bigCount = arr.filter { String($0) == c }.count
    let smallCount = arr.filter { String($0) == c.lowercased()}.count
    bigResult.append(bigCount)
    smallResult.append(smallCount)
  }
  bigResult.append(contentsOf: smallResult)

알파벳의 범위를 만들어서 필터를 거치고 갯수를 해줬는데 그냥 배열을 미리 52개 만들고 문자열을 반복돌려서 count++ 해주는게 더 깔끔했을거같다

 

100여 문제가 반쯤 도전과제만 달성하고있는데 어느새 12문제만 남았다.

진행도로만 보면 이번주안에 기초트레이닝 문제는 다 끝나지 않을까?

끝나면 드디어 실 코딩 테스트 문제를!

+ Recent posts