WonniOS

[Swift] 백준 10808번: 알파벳 개수 본문

Algorithm

[Swift] 백준 10808번: 알파벳 개수

Wonni 2023. 4. 6. 15:38

알고리즘 기초1 순서대로 푸는데 간만에 브론즈 문제가 나와서 자존심 회복겸 걍 풀었다..

쉬웠움.. 그런데 놀랍게도 어제 푼 오큰수의 아스키코드로 index로 접근하기 방식으로 접근해야해서 놀랐당

     


    문제 링크

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

     

    10808번: 알파벳 개수

    단어에 포함되어 있는 a의 개수, b의 개수, …, z의 개수를 공백으로 구분해서 출력한다.

    www.acmicpc.net

     


    풀이

    1. 26개의 0이 들어있는 배열을 만든다. (arr)

    2. 소문자이기 때문에 아스키 코드에서 97을 빼주고 해당 index로 접근해서 값을 추가해준다.

    3. print는 기본적으로 newline 출력이기 때문에 terminator 변수를 이용해서 공백을 기준으로 한줄에 출력되도록 한다.

     

     


     

    제출 코드

    import Foundation
    
    
    class B10808 {
      func solution() {
        let word = readLine()!
        var arr = Array(repeating: 0, count: 26)
        
        for i in word {
          let index = i.asciiValue! - 97
          arr[Int(index)] += 1
        }
        
        for i in arr {
          print(i, terminator: " ")
        }
      }
    }