๋ฐฑ์ค ๋ฌธ์ ๋ชจ์
๋ฌธ์ ๋งํฌ
https://www.acmicpc.net/problem/1919
1919๋ฒ: ์ ๋๊ทธ๋จ ๋ง๋ค๊ธฐ
๋ ์์ด ๋จ์ด๊ฐ ์ฒ ์์ ์์๋ฅผ ๋ค๋ฐ๊พธ์ด ๊ฐ์์ง ์ ์์ ๋, ๊ทธ๋ฌํ ๋ ๋จ์ด๋ฅผ ์๋ก ์ ๋๊ทธ๋จ ๊ด๊ณ์ ์๋ค๊ณ ํ๋ค. ์๋ฅผ ๋ค๋ฉด occurs ๋ผ๋ ์์ด ๋จ์ด์ succor ๋ ์๋ก ์ ๋๊ทธ๋จ ๊ด๊ณ์ ์๋๋ฐ, occurs
www.acmicpc.net
๋ฌธ์
๋ ์์ด ๋จ์ด๊ฐ ์ฒ ์์ ์์๋ฅผ ๋ค๋ฐ๊พธ์ด ๊ฐ์์ง ์ ์์ ๋, ๊ทธ๋ฌํ ๋ ๋จ์ด๋ฅผ ์๋ก ์ ๋๊ทธ๋จ ๊ด๊ณ์ ์๋ค๊ณ ํ๋ค. ์๋ฅผ ๋ค๋ฉด occurs๋ผ๋ ์์ด ๋จ์ด์ succor๋ ์๋ก ์ ๋๊ทธ๋จ ๊ด๊ณ์ ์๋๋ฐ, occurs์ ๊ฐ ๋ฌธ์๋ค์ ์์๋ฅผ ์ ๋ฐ๊พธ๋ฉด succor์ด ๋๊ธฐ ๋๋ฌธ์ด๋ค.
ํ ํธ, dared์ bread๋ ์๋ก ์ ๋๊ทธ๋จ ๊ด๊ณ์ ์์ง ์๋ค. ํ์ง๋ง dared์์ ๋งจ ์์ d๋ฅผ ์ ๊ฑฐํ๊ณ , bread์์ ์ ์ผ ์์ b๋ฅผ ์ ๊ฑฐํ๋ฉด, ared์ read๋ผ๋ ์๋ก ์ ๋๊ทธ๋จ ๊ด๊ณ์ ์๋ ๋จ์ด๊ฐ ๋จ๊ฒ ๋๋ค.
๋ ๊ฐ์ ์์ด ๋จ์ด๊ฐ ์ฃผ์ด์ก์ ๋, ๋ ๋จ์ด๊ฐ ์๋ก ์ ๋๊ทธ๋จ ๊ด๊ณ์ ์๋๋ก ๋ง๋ค๊ธฐ ์ํด์ ์ ๊ฑฐํด์ผ ํ๋ ์ต์ ๊ฐ์์ ๋ฌธ์ ์๋ฅผ ๊ตฌํ๋ ํ๋ก๊ทธ๋จ์ ์์ฑํ์์ค. ๋ฌธ์๋ฅผ ์ ๊ฑฐํ ๋์๋ ์๋ฌด ์์น์ ์๋ ๋ฌธ์๋ ์ง ์ ๊ฑฐํ ์ ์๋ค.
์ ๋ ฅ
์ฒซ์งธ ์ค๊ณผ ๋์งธ ์ค์ ์์ด ๋จ์ด๊ฐ ์๋ฌธ์๋ก ์ฃผ์ด์ง๋ค. ๊ฐ๊ฐ์ ๊ธธ์ด๋ 1,000์๋ฅผ ๋์ง ์์ผ๋ฉฐ, ์ ์ด๋ ํ ๊ธ์๋ก ์ด๋ฃจ์ด์ง ๋จ์ด๊ฐ ์ฃผ์ด์ง๋ค.
์ถ๋ ฅ
์ฒซ์งธ ์ค์ ๋ต์ ์ถ๋ ฅํ๋ค.
์ ์ถ๋ ฅ ์์
์๊ณ ๋ฆฌ์ฆ ๋ถ๋ฅ
- ๊ตฌํ
- ๋ฌธ์์ด
๋ฌธ์ ํ์ด
- Strfry์ ๋น์ทํ ๋ฐฉ์
- ๋ ๋ฌธ์์ด์ ๊ฐ๊ฐ firstString๊ณผ secondString์ผ๋ก ์ ๋ ฅ๋ฐ๋๋ค.
- ๊ฐ ์ํ๋ฒณ์ ๊ฐ์๋ฅผ ๋ด์ ๋ฐฐ์ด arr๋ฅผ ์์ฑํ๋ค.
- arr์์ (์ฒซ ๋ฒ์งธ ๋ฌธ์์ด์์ ๊ฐ ์ํ๋ฒณ์ ์์คํค์ฝ๋ - 97) ๋ฒ์งธ ์์๋ฅผ 1 ์ฆ๊ฐ์ํจ๋ค.
- arr์์(๋ ๋ฒ์งธ ๋ฌธ์์ด์์ ๊ฐ ์ํ๋ฒณ์ ์์คํค์ฝ๋ - 97) ๋ฒ์งธ ์์๋ฅผ 1 ๊ฐ์์ํจ๋ค.
- arr๋ฅผ reduce ๋ฉ์๋๋ฅผ ์ฌ์ฉํ์ฌ ๊ฐ ์์์ ํฉ์ ๊ตฌํ๋ค. ์ด๋ ๊ฐ ์์๋ abs() ๋ฉ์๋๋ฅผ ์ฌ์ฉํ์ฌ ์ ๋๊ฐ์ ๋ํ๋ค.
์์ค์ฝ๋
var firstString = readLine()!
var secondString = readLine()!
var arr = Array(repeating: 0, count: 26)
for s in firstString {
arr[Int(exactly: s.asciiValue!)!-97] += 1
}
for s in secondString {
arr[Int(exactly: s.asciiValue!)!-97] -= 1
}
print(arr.reduce(0){abs($0) + abs($1)})
- 8ms ์์
๋ค๋ฅธ ํ์ด
var arrA = readLine()!.map{ String($0) }
var arrB = readLine()!.map{ String($0) }
var res: Int = 0
for a in arrA {
if arrB.contains(a) {
if let index = arrB.firstIndex(of: a) {
arrB.remove(at: index)
}
} else {
res += 1
}
}
print(res+arrB.count)
- 8ms ์์
- ์ฒซ ๋ฒ์งธ ๋ฌธ์์ด์ ์ํ๋ฒณ์ด ๋ ๋ฒ์งธ ๋ฌธ์์ด์ ์๋ค๋ฉด, ๋ ๋ฒ์งธ ๋ฌธ์์ด์์ ํด๋น ์ํ๋ฒณ์ ์ญ์ ํ๋ค.
- ์๋๋ผ๋ฉด res ๋ณ์์ 1์ ๋ํ๋ค.
- ์ต์ข ์ ์ผ๋ก res์ ๋ ๋ฒ์งธ ๋ฌธ์์ด์ ๊ฐ์๋ฅผ ๋ํ ํ ๋ฐํํ๋ค.
'โจ๏ธ Language > swift' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[Swift] ๋ฐฑ์ค 3273๋ฒ - ๋ ์์ ํฉ (0) | 2023.03.26 |
---|---|
[Swift] ๋ฐฑ์ค 1475๋ฒ - ๋ฐฉ ๋ฒํธ (0) | 2023.03.26 |
[Swift] ๋ฐฑ์ค 11328๋ฒ - Strfry (0) | 2023.03.25 |
[Swift] ๋ฐฑ์ค 13300๋ฒ - ๋ฐฉ ๋ฐฐ์ (0) | 2023.03.25 |
[Swift] ๋ฐฑ์ค 10807๋ฒ - ๊ฐ์ ์ธ๊ธฐ (0) | 2023.03.25 |