본문 바로가기

PS/백준

[BOJ] 백준 10809 알파벳 찾기 (Swift)

반응형

문제

https://www.acmicpc.net/problem/10809

 

10809번: 알파벳 찾기

각각의 알파벳에 대해서, a가 처음 등장하는 위치, b가 처음 등장하는 위치, ... z가 처음 등장하는 위치를 공백으로 구분해서 출력한다. 만약, 어떤 알파벳이 단어에 포함되어 있지 않다면 -1을 출

www.acmicpc.net

풀이

  • 입력이 알파벳은 소문자로만 이루어져 있음
  • a - z 까지 하나씩 입력의 첫번째로 등장하는 위치를 구해줘야 함 (없다면 0)
  • 알파벳 소문자로만 이루어졌기 때문에 아스키 코드 값을 사용하는 방법도 있을 것임
  • 입력을 아스키 코드 값으로 변환을 해준다.
    • readLine()!.map { $0.asciiValue! }
  • 알파벳 소문자는 아스키 코드 값으로 97 ~ 122 까지 이루어져 있음
  • 97 ~ 122에 대해서 입력 아스키코드 값이 처음 등장하는 위치를 구하기 위해 firstIndex로 index를 찾아준다.
  • 찾는다면 index, 없다면 -1!

소스코드

후기

  • 아스키 코드 값을 이런 문제에 활용할 수 있다고 느꼈다.
  • 굳이 아스키 코드 값을 써야하나..? 라는 생각도 들었는데 써보니깐 재밌었음..😙
반응형