[leetcode 387] First Unique Character in a String

387. First Unique Character in a String

https://leetcode.com/problems/first-unique-character-in-a-string/

해결 과정

입력으로 주어진 String이 갖는 char 들을 1차 for문을 돌면서 map에 저장하고, 2차 for문을 돌면서 해당 char 가 String 내에 1번만 등장했는지를 체크하였다.

2차 for문을 다 돌았을 때까지 1번만 등장한 char가 없다면 -1을 반환한다.

코드

fun firstUniqChar(s: String): Int {
  val map = hashMapOf<Char, Int>()
  
  s.forEach {
    if(map.containsKey(it)) {
      map.put(it, map[it]!!.plus(1))
      } else {
        map.put(it, 1)
      }
  }
  
  s.forEachIndexed { idx, c -> 
    if(map[c] == 1)
      return idx 
  }
  return -1
}

배운 점

입력 데이터의 상태를 1차적으로 우선 검사하는 방법을 배웠다.

Leave a comment