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

[ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค LV.0] OXํ€ด์ฆˆ

by hyebin (Helia) 2023. 1. 16.
๋ฐ˜์‘ํ˜•
ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค LV.0 ๋ชจ์Œ

OXํ€ด์ฆˆ

๋ฌธ์ œ ์„ค๋ช…

๋ง์…ˆ, ๋บ„์…ˆ ์ˆ˜์‹๋“ค์ด 'X [์—ฐ์‚ฐ์ž] Y = Z' ํ˜•ํƒœ๋กœ ๋“ค์–ด์žˆ๋Š” ๋ฌธ์ž์—ด ๋ฐฐ์—ด quiz๊ฐ€ ๋งค๊ฐœ๋ณ€์ˆ˜๋กœ ์ฃผ์–ด์ง‘๋‹ˆ๋‹ค. ์ˆ˜์‹์ด ์˜ณ๋‹ค๋ฉด "O"๋ฅผ ํ‹€๋ฆฌ๋‹ค๋ฉด "X"๋ฅผ ์ˆœ์„œ๋Œ€๋กœ ๋‹ด์€ ๋ฐฐ์—ด์„ return ํ•˜๋„๋ก solution ํ•จ์ˆ˜๋ฅผ ์™„์„ฑํ•ด ์ฃผ์„ธ์š”.

์ œํ•œ ์‚ฌํ•ญ

  • ์—ฐ์‚ฐ ๊ธฐํ˜ธ์™€ ์ˆซ์ž ์‚ฌ์ด๋Š” ํ•ญ์ƒ ํ•˜๋‚˜์˜ ๊ณต๋ฐฑ์ด ์กด์žฌํ•ฉ๋‹ˆ๋‹ค. ๋‹จ ์Œ์ˆ˜๋ฅผ ํ‘œ์‹œํ•˜๋Š” ๋งˆ์ด๋„ˆ์Šค ๊ธฐํ˜ธ์™€ ์ˆซ์ž ์‚ฌ์ด์—๋Š” ๊ณต๋ฐฑ์ด ์กด์žฌํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.
  • 1 ≤ quiz์˜ ๊ธธ์ด ≤ 10
  • X, Y, Z๋Š” ๊ฐ๊ฐ 0๋ถ€ํ„ฐ 9๊นŒ์ง€ ์ˆซ์ž๋กœ ์ด๋ฃจ์–ด์ง„ ์ •์ˆ˜๋ฅผ ์˜๋ฏธํ•˜๋ฉฐ, ๊ฐ ์ˆซ์ž์˜ ๋งจ ์•ž์— ๋งˆ์ด๋„ˆ์Šค ๊ธฐํ˜ธ๊ฐ€ ํ•˜๋‚˜ ์žˆ์„ ์ˆ˜ ์žˆ๊ณ  ์ด๋Š” ์Œ์ˆ˜๋ฅผ ์˜๋ฏธํ•ฉ๋‹ˆ๋‹ค.
  • X, Y, Z๋Š” 0์„ ์ œ์™ธํ•˜๊ณ ๋Š” 0์œผ๋กœ ์‹œ์ž‘ํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.
  • -10,000 ≤ X, Y ≤ 10,000
  • -20,000 ≤ Z ≤ 20,000
  • [์—ฐ์‚ฐ์ž]๋Š” + ์™€ - ์ค‘ ํ•˜๋‚˜์ž…๋‹ˆ๋‹ค.

์ž…์ถœ๋ ฅ ์˜ˆ

quiz result
["3 - 4 = -3", "5 + 6 = 11"] ["X", "O"]
["19 - 6 = 13", "5 + 66 = 71", "5 - 15 = 63", "3 - 1 = 2"] ["O", "O", "X", "O"]

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

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

  • 3 - 4 = -3 ์€ ํ‹€๋ฆฐ ์ˆ˜์‹์ด๋ฏ€๋กœ "X", 5 + 6 = 11 ์€ ์˜ณ์€ ์ˆ˜์‹์ด๋ฏ€๋กœ "O"์ž…๋‹ˆ๋‹ค. ๋”ฐ๋ผ์„œ ["X", "O"]๋ฅผ return ํ•ฉ๋‹ˆ๋‹ค.

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

  • 19 - 6 = 13 ์€ ์˜ณ์€ ์ˆ˜์‹์ด๋ฏ€๋กœ "O", 5 + 66 = 71 ์€ ์˜ณ์€ ์ˆ˜์‹์ด๋ฏ€๋กœ "O", 5 - 15 = 63 ์€ ํ‹€๋ฆฐ ์ˆ˜์‹์ด๋ฏ€๋กœ "X", 3 - 1 = 2๋Š” ์˜ณ์€ ์ˆ˜์‹์ด๋ฏ€๋กœ "O" ๋”ฐ๋ผ์„œ ["O", "O", "X", "O"]๋ฅผ return ํ•ฉ๋‹ˆ๋‹ค.

์ œ์ถœ

import Foundation

func solution(_ quiz:[String]) -> [String] {
    var answer = [String]()
    for q in quiz{
        var s = q.split(separator: " ").map{String($0)}
        
        if s[1] == "+" {
            answer.append(Int(s[0])!+Int(s[2])! == Int(s[4])! ? "O" : "X")
        }else{
            answer.append(Int(s[0])!-Int(s[2])! == Int(s[4])! ? "O" : "X")
        }
    }
    return answer
}
์ž…๋ ฅ๋ฐ›์€ ๋ฐฐ์—ด์˜ ์š”์†Œ๋ฅผ ๊ณต๋ฐฑ๊ธฐ์ค€์œผ๋กœ ๋‚˜๋ˆˆ ํ›„, map Stringํ˜• ๋ฐฐ์—ด๋กœ ๋งŒ๋“ ๋‹ค.
1 ๋ฒˆ์งธ ๊ฐ’(์—ฐ์‚ฐ์ž)์ด  "+" ๋ผ๋ฉด, 0๋ฒˆ์งธ ๊ฐ’๊ณผ 2๋ฒˆ์งธ ๊ฐ’์„ ๋”ํ•œ ๊ฒฐ๊ณผ๊ฐ€ 4๋ฒˆ์งธ ๊ฐ’๊ณผ ์ผ์น˜ํ•˜๋ฉด "O"๋ฅผ ์•„๋‹ˆ๋ผ๋ฉด "X"๋ฅผ ๋ฐ˜ํ™˜ํ•œ๋‹ค.
1 ๋ฒˆ์งธ ๊ฐ’(์—ฐ์‚ฐ์ž)์ด  "-" ๋ผ๋ฉด, 0๋ฒˆ์งธ ๊ฐ’์—์„œ 2๋ฒˆ์งธ ๊ฐ’์„ ๋บ€ ๊ฒฐ๊ณผ๊ฐ€ 4๋ฒˆ์งธ ๊ฐ’๊ณผ ์ผ์น˜ํ•˜๋ฉด "O"๋ฅผ ์•„๋‹ˆ๋ผ๋ฉด "X"๋ฅผ ๋ฐ˜ํ™˜ํ•œ๋‹ค.

 

๋ฐ˜์‘ํ˜•