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

[ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค LV.0] ๋Œ€๋ฌธ์ž์™€ ์†Œ๋ฌธ์ž

by hyebin (Helia) 2023. 1. 9.
๋ฐ˜์‘ํ˜•

๋Œ€๋ฌธ์ž์™€ ์†Œ๋ฌธ์ž

๋ฌธ์ œ ์„ค๋ช…

๋ฌธ์ž์—ด my_string์ด ๋งค๊ฐœ๋ณ€์ˆ˜๋กœ ์ฃผ์–ด์งˆ ๋•Œ, ๋Œ€๋ฌธ์ž๋Š” ์†Œ๋ฌธ์ž๋กœ ์†Œ๋ฌธ์ž๋Š” ๋Œ€๋ฌธ์ž๋กœ ๋ณ€ํ™˜ํ•œ ๋ฌธ์ž์—ด์„ return ํ•˜๋„๋ก solution ํ•จ์ˆ˜๋ฅผ ์™„์„ฑํ•ด ์ฃผ์„ธ์š”.

์ œํ•œ ์‚ฌํ•ญ

  • 1 ≤ my_string์˜ ๊ธธ์ด ≤ 1,000
  • my_string์€ ์˜์–ด ๋Œ€๋ฌธ์ž์™€ ์†Œ๋ฌธ์ž๋กœ๋งŒ ๊ตฌ์„ฑ๋˜์–ด ์žˆ์Šต๋‹ˆ๋‹ค.

์ž…์ถœ๋ ฅ ์˜ˆ

my_string result
"cccCCC" "CCCccc"
"abCdEfghIJ" "ABcDeFGHij"

์ž…์ถœ๋ ฅ ์˜ˆ ์„ค๋ช…

์ž…์ถœ๋ ฅ ์˜ˆ #1

  • ์†Œ๋ฌธ์ž๋Š” ๋Œ€๋ฌธ์ž๋กœ ๋Œ€๋ฌธ์ž๋Š” ์†Œ๋ฌธ์ž๋กœ ๋ฐ”๊พผ "CCCccc"๋ฅผ return ํ•ฉ๋‹ˆ๋‹ค.

์ž…์ถœ๋ ฅ ์˜ˆ #2

  • ์†Œ๋ฌธ์ž๋Š” ๋Œ€๋ฌธ์ž๋กœ ๋Œ€๋ฌธ์ž๋Š” ์†Œ๋ฌธ์ž๋กœ ๋ฐ”๊พผ "ABcDeFGHij"๋ฅผ returnํ•ฉ๋‹ˆ๋‹ค.
 

์ œ์ถœ

import Foundation

func solution(_ my_string:String) -> String {
    var answer = ""

    for s in my_string{
        if  65 <= s.asciiValue! && s.asciiValue! <= 90{
            answer += s.lowercased()
        }else{
            answer += s.uppercased()
        }
    }
    return answer
}
์ž…๋ ฅ๋ฐ›์€ ๋ฌธ์ž์—ด์˜ ๋ฌธ์ž๋ฅผ ํ•˜๋‚˜์”ฉ ๋น„๊ตํ•˜๋ฉฐ, ์•„์Šคํ‚ค์ฝ”๋“œ ๊ฐ’์ด 65 ์ด์ƒ 90 ์ดํ•˜ ๋ผ๋ฉด ๋Œ€๋ฌธ์ž์ด๊ธฐ ๋•Œ๋ฌธ์—  ๋ฌธ์ž๋ฅผ ์†Œ๋ฌธ์ž๋กœ ๋ฐ”๊พผ ํ›„ answer ๋ณ€์ˆ˜์— ์ถ”๊ฐ€ํ•œ๋‹ค.
์•„๋‹ˆ๋ผ๋ฉด ๋ฌธ์ž๋ฅผ ๋Œ€๋ฌธ์ž๋กœ ๋ฐ”๊ฟ” answer์— ์ถ”๊ฐ€ํ•œ๋‹ค. 

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

import Foundation

func solution(_ my_string:String) -> String {
    var result = ""
  
    for c in my_string {
        let s = String(c)
        let lo = s.lowercased()
        let up = s.uppercased()
        result += (s == lo) ? up : lo
    }
    return result

}
์ž…๋ ฅ๋ฐ›์€ ๋ฌธ์ž์—ด์˜ ๋ฌธ์ž๋ฅผ ํ•˜๋‚˜์”ฉ ๋น„๊ตํ•˜๋ฉฐ, ๋ฌธ์ž๋ฅผ ๋Œ€๋ฌธ์ž, ์†Œ๋ฌธ์ž๋กœ ๋ณ€๊ฒฝํ•ด ๊ฐ๊ฐ ๋ณ€์ˆ˜์— ์ €์žฅํ•œ๋‹ค.
๋ฌธ์ž์™€ ์†Œ๋ฌธ์ž๋กœ ๋ณ€ํ™˜ํ•œ ๋ฌธ์ž๊ฐ€ ๋™์ผํ•˜๋ฉด, ๋Œ€๋ฌธ์ž๋กœ ๋ณ€ํ™˜ํ•œ ๋ฌธ์ž๋ฅผ ์•„๋‹ˆ๋ผ๋ฉด ์†Œ๋ฌธ์ž๋กœ ๋ณ€ํ™˜ํ•œ ๋ฌธ์ž๋ฅผ result ๋ณ€์ˆ˜์— ์ถ”๊ฐ€ํ•œ๋‹ค.
๋ฐ˜์‘ํ˜•