MUKER_DEV with iOS

[swift] ๋ฐฑ์ค€ 1157๋ฒˆ: ๋‹จ์–ด ๊ณต๋ถ€ ๋ณธ๋ฌธ

๐Ÿค– ์•Œ๊ณ ๋ฆฌ์ฆ˜/BAEKJOON

[swift] ๋ฐฑ์ค€ 1157๋ฒˆ: ๋‹จ์–ด ๊ณต๋ถ€

MUKER 2022. 9. 9. 01:28
 

1157๋ฒˆ: ๋‹จ์–ด ๊ณต๋ถ€

์•ŒํŒŒ๋ฒณ ๋Œ€์†Œ๋ฌธ์ž๋กœ ๋œ ๋‹จ์–ด๊ฐ€ ์ฃผ์–ด์ง€๋ฉด, ์ด ๋‹จ์–ด์—์„œ ๊ฐ€์žฅ ๋งŽ์ด ์‚ฌ์šฉ๋œ ์•ŒํŒŒ๋ฒณ์ด ๋ฌด์—‡์ธ์ง€ ์•Œ์•„๋‚ด๋Š” ํ”„๋กœ๊ทธ๋žจ์„ ์ž‘์„ฑํ•˜์‹œ์˜ค. ๋‹จ, ๋Œ€๋ฌธ์ž์™€ ์†Œ๋ฌธ์ž๋ฅผ ๊ตฌ๋ถ„ํ•˜์ง€ ์•Š๋Š”๋‹ค.

www.acmicpc.net


๋‚˜์˜ ํ’€์ด

// ์ž…๋ ฅ๊ฐ’ ๋Œ€๋ฌธ์ž๋กœ ๋ณ€ํ™˜
let input = readLine()!.uppercased()
var dic = [String: Int]()
var temp = [String]()

for i in input {
	// ์ž…๋ ฅ๊ฐ’์„ ๋”•์…”๋„ˆ๋ฆฌ ํ‚ค๊ฐ’์— ๋„ฃ๊ณ  ์ž…๋ ฅ๊ฐ’์ด ์ค‘๋ณต๋˜๋ฉด ๋ฒจ๋ฅ˜๊ฐ€ 1์”ฉ ๋Š˜์–ด๋‚จ
    if dic[String(i)] == nil {
        dic[String(i)] = 1
    } else {
        dic[String(i)]! += 1
    }
}

for i in dic.keys {
	// 'temp'๋ฐฐ์—ด์— ์ œ์ผ ํฐ value๋ฅผ ๊ฐ€์ง„ key ๊ฐ’์„ ๋‹ด์•„์ค€๋‹ค.
    if dic[i] == dic.values.max() {
        temp.append(i)
    }
}
// 'temp'๋ฐฐ์—ด์— key๊ฐ’์ด ํ•˜๋‚˜๋ณด๋‹ค ํฌ๋ฉด "?" ์•„๋‹ˆ๋ผ๋ฉด ์ฒซ๋ฒˆ์งธ ์ธ๋ฑ์Šค๋ฅผ ์ถœ๋ ฅ
print(temp.count > 1 ? "?" : temp[0])
71108kb 168ms 335b

 

๋‹ค๋ฅธ ํ’€์ด

- ์‹œ๊ฐ„ ๊ฐ์†Œ

let s = readLine()!
var alphabet = [Int](repeating: 0, count: 26)

for value in s.utf8 {
    if value > 90 {
        alphabet[Int(value) - 97] += 1
    } else {
        alphabet[Int(value) - 65] += 1
    }
}

let max = alphabet.max()!
if alphabet.firstIndex(of: max) == alphabet.lastIndex(of: max) {
    print(UnicodeScalar(alphabet.firstIndex(of: max)! + 65)!)
} else {
    print("?")
}
71104kb 44ms 387b