๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ
โŒจ๏ธ Language/swift

[Swift] ๋ฐฑ์ค€ 10808๋ฒˆ - ์•ŒํŒŒ๋ฒณ ๊ฐœ์ˆ˜

by hyebin (Helia) 2023. 3. 25.
๋ฐ˜์‘ํ˜•
๋ฐฑ์ค€ ๋ฌธ์ œ ๋ชจ์Œ

๋ฌธ์ œ ๋งํฌ

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

 

10808๋ฒˆ: ์•ŒํŒŒ๋ฒณ ๊ฐœ์ˆ˜

๋‹จ์–ด์— ํฌํ•จ๋˜์–ด ์žˆ๋Š” a์˜ ๊ฐœ์ˆ˜, b์˜ ๊ฐœ์ˆ˜, …, z์˜ ๊ฐœ์ˆ˜๋ฅผ ๊ณต๋ฐฑ์œผ๋กœ ๊ตฌ๋ถ„ํ•ด์„œ ์ถœ๋ ฅํ•œ๋‹ค.

www.acmicpc.net

 

๋ฌธ์ œ

์•ŒํŒŒ๋ฒณ ์†Œ๋ฌธ์ž๋กœ๋งŒ ์ด๋ฃจ์–ด์ง„ ๋‹จ์–ด S๊ฐ€ ์ฃผ์–ด์ง„๋‹ค. ๊ฐ ์•ŒํŒŒ๋ฒณ์ด ๋‹จ์–ด์— ๋ช‡ ๊ฐœ๊ฐ€ ํฌํ•จ๋˜์–ด ์žˆ๋Š”์ง€ ๊ตฌํ•˜๋Š” ํ”„๋กœ๊ทธ๋žจ์„ ์ž‘์„ฑํ•˜์‹œ์˜ค.

์ž…๋ ฅ

์ฒซ์งธ ์ค„์— ๋‹จ์–ด S๊ฐ€ ์ฃผ์–ด์ง„๋‹ค. ๋‹จ์–ด์˜ ๊ธธ์ด๋Š” 100์„ ๋„˜์ง€ ์•Š์œผ๋ฉฐ, ์•ŒํŒŒ๋ฒณ ์†Œ๋ฌธ์ž๋กœ๋งŒ ์ด๋ฃจ์–ด์ ธ ์žˆ๋‹ค.

์ถœ๋ ฅ

๋‹จ์–ด์— ํฌํ•จ๋˜์–ด ์žˆ๋Š” a์˜ ๊ฐœ์ˆ˜, b์˜ ๊ฐœ์ˆ˜, …, z์˜ ๊ฐœ์ˆ˜๋ฅผ ๊ณต๋ฐฑ์œผ๋กœ ๊ตฌ๋ถ„ํ•ด์„œ ์ถœ๋ ฅํ•œ๋‹ค.

์ž…์ถœ๋ ฅ ์˜ˆ์‹œ

์•Œ๊ณ ๋ฆฌ์ฆ˜ ๋ถ„๋ฅ˜

  • ๊ตฌํ˜„
  • ๋ฌธ์ž์—ด

๋ฌธ์ œ ํ’€์ด

  • 0์„ ๊ฐ’์œผ๋กœ ๊ฐ–๋Š” 26๊ฐœ์˜ ์š”์†Œ๋ฅผ ๋‹ด์€ ๋ฐฐ์—ด alpabet์„ ์ƒ์„ฑํ•œ๋‹ค.
  • alpabet ๋ฐฐ์—ด์—์„œ (์ž…๋ ฅ๋ฐ›์€ ๋ฌธ์ž์—ด์˜ ์•ŒํŒŒ๋ฒณ์— ํ•ด๋‹นํ•˜๋Š” ์•„์Šคํ‚ค์ฝ”๋“œ - 97) ๋ฒˆ์งธ ์š”์†Œ๋ฅผ 1 ์ฆ๊ฐ€์‹œํ‚จ๋‹ค.
    • ์†Œ๋ฌธ์ž a์˜ ์•„์Šคํ‚ค์ฝ”๋“œ ๊ฐ’์ด 97์ด๊ธฐ ๋•Œ๋ฌธ์— 97์„ ๋บ€๋‹ค.
  • alpabet ๋ฐฐ์—ด์˜ ๊ฐ’์„ ํ•œ ์ค„๋กœ ์ถœ๋ ฅํ•œ๋‹ค.

์†Œ์Šค์ฝ”๋“œ

var string_value = readLine()!
var alpabet = Array(repeating: 0, count: 26)

for s in string_value {
    alpabet[Int(exactly: s.asciiValue ?? 0)! - 97] += 1
}

for a in alpabet {print(a, terminator: " ")}
  • 8ms ์†Œ์š”
๋ฐ˜์‘ํ˜•