๋ฌธ์ ์ค๋ช
์ํ๋ฒณ ์๋ฌธ์๋ก๋ง ์ด๋ฃจ์ด์ง ๋จ์ด S๊ฐ ์ฃผ์ด์ง๋ค.
๊ฐ ์ํ๋ฒณ์ด ๋จ์ด์ ๋ช ๊ฐ๊ฐ ํฌํจ๋์ด ์๋์ง ๊ตฌํ๋ ํ๋ก๊ทธ๋จ์ ์์ฑํ์์ค.
์ ๋ ฅ
์ฒซ์งธ ์ค์ ๋จ์ด S๊ฐ ์ฃผ์ด์ง๋ค. ๋จ์ด์ ๊ธธ์ด๋ 100์ ๋์ง ์์ผ๋ฉฐ, ์ํ๋ฒณ ์๋ฌธ์๋ก๋ง ์ด๋ฃจ์ด์ ธ ์๋ค.
์ถ๋ ฅ
๋จ์ด์ ํฌํจ๋์ด ์๋ a์ ๊ฐ์, b์ ๊ฐ์, …, z์ ๊ฐ์๋ฅผ ๊ณต๋ฐฑ์ผ๋ก ๊ตฌ๋ถํด์ ์ถ๋ ฅํ๋ค.
์ ์ถ๋ ฅ ์์
์ ๋ ฅ
baekjoon
์ถ๋ ฅ
1 1 0 0 1 0 0 0 0 1 1 0 0 1 2 0 0 0 0 0 0 0 0 0 0 0
๋ด ๋ฌธ์ ํ์ด
import Foundation
let alphabet = Array("abcdefghijklmnopqrstuvwxyz")
var result = Array(repeating: "0", count: 26)
var inputStr = readLine()!
var check = [String]()
for i in inputStr {
if !check.contains(String(i)) {
var temp = 0
for j in inputStr {
if i == j { temp += 1 }
}
result[alphabet.firstIndex(of: i)!] = String(temp)
}
check.append(String(i))
}
print(result.joined(separator: " "))
- ์๋ฌธ์๋ก ์ด๋ฃจ์ด์ง ๋ฐฐ์ด์ ์์ฑํด์ฃผ์๊ณ , ์ํ๋ฒณ ๊ฐ์๋งํผ "0"์ผ๋ก ์ฑ์ด ๋ฐฐ์ด๋ ๋ง๋ค์๋ค.
- ์
๋ ฅ๋ฐ์ inputStr์ ๊ธ์๋ฅผ ์์๋๋ก ๊ฒ์ฌํ๋ฉฐ alphabet ๋ฐฐ์ด์์ ํด๋น ๊ธ์์ ์์น๋ฅผ ์ฐพ๊ณ ,
์ด์ค for๋ฌธ์ ์ด์ฉํด ํด๋น ๊ธ์๊ฐ inputStr์ ๋ช ๊ฐ ์กด์ฌํ๋์ง ํ์ธํ์ฌ
result ๋ฐฐ์ด์ ๊ฐ์ ์์น์ 1์ ์ถ๊ฐํด์ฃผ๋ ์์ผ๋ก ๊ตฌ์ฑํ๋ค.
๐ก ํผ๋๋ฐฑ
- ์ฒ์๋ถํฐ result ๋ฐฐ์ด์ Intํ์ผ๋ก ์์ฑํ๊ณ , ๊ตณ์ด check ๋ฐฐ์ด ์ฌ์ฉํ ํ์ ์์ด
์์๋๋ก ํด๋นํ๋ ์ํ๋ฒณ ์์น์ 1์ฉ ๋ํด์คฌ์ผ๋ฉด ๋ ๊น๋ํ์ ์ ์์ ๊ฒ ๊ฐ๋ค. - ํ๋ก๊ทธ๋๋จธ์ค๋ง ํ๋ค๊ฐ ๋ฐฑ์ค์ ์ฒ์ ์์ํ๋๋ฐ, ์ ๋ ฅ๋ฐ๋ ๋ฐฉ์๋ ๋ค์ํ๊ฒ ์๊ฐํ๊ฒ ๋๋ ์ข์ ๊ฒ ๊ฐ๋ค.
๋ฌธ์
https://www.acmicpc.net/problem/10808
'3๏ธโฃ Swift > Problem Solving' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[Swift Algorithm] ์ซ์์ ๊ฐ์ BOJ #2577 (0) | 2021.07.28 |
---|---|
[Swift Algorithm] ๊ฐ์ ์ธ๊ธฐ BOJ #10807 (0) | 2021.07.28 |
[Swift Algorithm] ๊ฐ์ฅ ํฐ ์ ์ฌ๊ฐํ ์ฐพ๊ธฐ Programmers(Lv.2) (0) | 2021.07.20 |
[Swift Algorithm] ์ฌ๋ฐ๋ฅธ ๊ดํธ Programmers(Lv.2) (4) | 2021.07.08 |
[Swift Algorithm] ๋ค์ ํฐ ์ซ์ Programmers(Lv.2) (0) | 2021.07.08 |
๋๊ธ