๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ
๐Ÿ“– Problem Solution/Programmers

ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค ๋ฌธ์ž์—ด ๋‚ด p์™€ y์˜ ๊ฐœ์ˆ˜ Swift

by Fomagran ๐Ÿ’ป 2020. 2. 14.
728x90
๋ฐ˜์‘ํ˜•

๋Œ€๋ฌธ์ž์™€ ์†Œ๋ฌธ์ž๊ฐ€ ์„ž์—ฌ์žˆ๋Š” ๋ฌธ์ž์—ด s๊ฐ€ ์ฃผ์–ด์ง‘๋‹ˆ๋‹ค. s์— 'p'์˜ ๊ฐœ์ˆ˜์™€ 'y'์˜ ๊ฐœ์ˆ˜๋ฅผ ๋น„๊ตํ•ด ๊ฐ™์œผ๋ฉด True, ๋‹ค๋ฅด๋ฉด False๋ฅผ return ํ•˜๋Š” solution๋ฅผ ์™„์„ฑํ•˜์„ธ์š”. 'p', 'y' ๋ชจ๋‘ ํ•˜๋‚˜๋„ ์—†๋Š” ๊ฒฝ์šฐ๋Š” ํ•ญ์ƒ True๋ฅผ ๋ฆฌํ„ดํ•ฉ๋‹ˆ๋‹ค. ๋‹จ, ๊ฐœ์ˆ˜๋ฅผ ๋น„๊ตํ•  ๋•Œ ๋Œ€๋ฌธ์ž์™€ ์†Œ๋ฌธ์ž๋Š” ๊ตฌ๋ณ„ํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.

์˜ˆ๋ฅผ ๋“ค์–ด s๊ฐ€ pPoooyY๋ฉด true๋ฅผ returnํ•˜๊ณ  Pyy๋ผ๋ฉด false๋ฅผ returnํ•ฉ๋‹ˆ๋‹ค.

์ œํ•œ์‚ฌํ•ญ

  • ๋ฌธ์ž์—ด s์˜ ๊ธธ์ด : 50 ์ดํ•˜์˜ ์ž์—ฐ์ˆ˜
  • ๋ฌธ์ž์—ด s๋Š” ์•ŒํŒŒ๋ฒณ์œผ๋กœ๋งŒ ์ด๋ฃจ์–ด์ ธ ์žˆ์Šต๋‹ˆ๋‹ค.

์ž…์ถœ๋ ฅ ์˜ˆ

s answer
pPoooyY true
Pyy false

ํ’€์ด : ์ผ๋‹จ s๋ฅผ ๊ฐ€์ ธ์™€์„œ ๋ชจ๋‘ ๋Œ€๋ฌธ์ž๋กœ ๋ฐ”๊พธ๊ฑฐ๋‚˜ ์†Œ๋ฌธ์ž๋กœ ๋ฐ”๊พผ๋‹ค. p๋‚˜ y๋ฅผ ์„ธ๋Š”๋ฐ ๋ฐฉํ•ด๋˜์ง€ ์•Š๊ฒŒ

๊ทธ๋ฆฌ๊ณ  ๋ฌธ์ž๋ฅผ ์„ธ๊ธฐ ์œ„ํ•ด index๋ฅผ ๋งŒ๋“ค์–ด์ฃผ๊ณ  for๋ฌธ์— offsetBy๊ฐ€ ์ฐจ๋ก€๋Œ€๋กœ ๋ฐ”๋€Œ๊ฒŒ ํ–ˆ๋‹ค.

p๊ฐ€ ๋ฐœ๊ฒฌ๋  ๋•Œ๋งˆ๋‹ค pcount๋ฅผ 1์”ฉ ์ฆ๊ฐ€์‹œํ‚ค๊ณ 

y๊ฐ€ ๋ฐœ๊ฒฌ๋  ๋•Œ๋งˆ๋‹ค ycount๋ฅผ 1์”ฉ ์ฆ๊ฐ€์‹œํ‚ค๊ณ 

return๊ฐ’์œผ๋กœ ๊ฐ™์œผ๋ฉด true ์•„๋‹ˆ๋ฉด false๊ฐ’์„ ๋ฐ˜ํ™˜ํ•˜๊ฒŒ ํ–ˆ๋‹ค.

์•„๋‹ˆ ์ด๊ฒŒ 1๋‹จ๊ณ„ ๋ฌธ์ œ์ง€...๋ฆฌ์–ผ....

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
import Foundation
 
func solution(_ s:String-> Bool
{
    let lower = s.lowercased()
    var pcount = 0
    var ycount = 0
    
    for i in 0..<s.count{
      let index = lower.index(s.startIndex, offsetBy: i)
        switch lower[index] {
        case "p":
            pcount += 1
        case "y":
            ycount += 1
        default:
            print("๋‹ค๋ฅธ๊ฑฐ")
        }
    }
        return pcount == ycount ? true : false
}
http://colorscripter.com/info#e" target="_blank" style="color:#e5e5e5text-decoration:none">Colored by Color Scripter

๋‹ค๋ฅธ ์‚ฌ๋žŒ ํ’€์ด ์ค‘ ๊ฐ€์žฅ ๊ดœ์ฐฎ๋‹ค๊ณ  ์ƒ๊ฐํ•˜๋Š” ๊ฒƒ

๋ฐ”๋กœ lowercased()๋ฅผ ์ ์šฉํ•œ ๋’ค ํ•„ํ„ฐ๋กœ p์ธ๊ฑฐ๋งŒ ๊ฑธ๋Ÿฌ์„œ ๋ฐฐ์—ด๋กœ ๋งŒ๋“  ๋‹ค์Œ ๊ทธ๊ฒƒ์˜ ๊ฐฏ์ˆ˜์™€ y์ธ ๊ฐฏ์ˆ˜๋ฅผ ๋ฐ”๋กœ ๋น„๊ตํ•ด๋ฒ„๋ฆฐ๋‹ค.

๋‚˜๋„ filter๋ฅผ ์‚ฌ์šฉํ•˜๋ คํ–ˆ๋Š”๋ฐ ๋ฐฐ์—ด๋กœ ๋งŒ๋“ค๋ฉด ๋” ๋ญ”๊ฐ€ ์˜ค๋ž˜๊ฑธ๋ฆฌ์ง€ ์•Š์„๊นŒ๋ผ๋Š” ์ƒ๊ฐ์— ๊ทธ๋ƒฅ ํ–ˆ๋‹ค.

1
2
3
4
5
6
import Foundation
 
func solution(_ s:String-> Bool
{
    return s.lowercased().filter { $0 == "p" }.count == s.lowercased().filter { $0 == "y" }.count
}
http://colorscripter.com/info#e" target="_blank" style="color:#e5e5e5text-decoration:none">Colored by Color Scripter
728x90
๋ฐ˜์‘ํ˜•

๋Œ“๊ธ€