[πŸ“ iOS TIL] #13 ... Swift - Number BaseBall Game ⚾️ 과제 ν”Όλ“œλ°±

TaeUkΒ·2024λ…„ 3μ›” 18일
0

🍎 iOS TIL

λͺ©λ‘ 보기
12/18
post-thumbnail

0. μ‹œμž‘ν•˜κΈ° μ•žμ„œ... πŸ“

ν•΄λ‹Ή 과제인 Number BaseBall Game βšΎοΈμ„ μ œμΆœν•œμ§€ λͺ‡ 일이 μ§€λ‚˜μž, νŠœλ„ˆλ‹˜μ΄ κ³Όμ œμ— λŒ€ν•œ ν”Όλ“œλ°±μ„ 전달해주셨닀!

과제λ₯Ό κ΅¬ν˜„ν•˜λŠ” 1 ~ 6κΉŒμ§€μ˜ Levelλ³„λ‘œ commitν•˜μ˜€λŠ”λ°, 이λ₯Ό 톡해 μƒμ„Ένžˆ ν”Όλ“œλ°±μ„ 달아주셨고 κ·Έκ±Έ μ •λ¦¬ν•΄λ³΄μ•˜λ‹€.

과제 μ½”λ“œ : swift Number BaseBall Game(GitHub - Tae Ouk)


1. 과제 마무리 ν›„, κΆκΈˆν•œ 점

κ³Όμ œλŠ” ν•„μˆ˜ κ΅¬ν˜„ κΈ°λŠ₯κ³Ό 선택 κ΅¬ν˜„ κΈ°λŠ₯으둜 κ΅¬μ„±λ˜μ–΄ μžˆμ—ˆλŠ”λ°, λͺ¨λ“  κΈ°λŠ₯을 λ‹€ κ΅¬μ„±ν•˜μ—¬ 과제λ₯Ό λ§ˆλ¬΄λ¦¬ν•˜μ˜€λ‹€.

각각의 κΈ°λŠ₯을 λͺ¨λ‘ ν•¨μˆ˜ν™”ν•˜μ—¬, μ½”λ“œμ˜ 가동성을 μ΅œλŒ€ν•œ λ†’μ˜€λ‹€!

λ¬Έμ œλŠ” μ—¬κΈ°μ„œ λ°œμƒν•˜μ˜€λ‹€! 🀯

값을 λ°˜ν™˜ν•˜λŠ” ν•¨μˆ˜??? 🀷

예λ₯Ό λ“€μ–΄, μ•„λž˜μ˜ ν•¨μˆ˜λ₯Ό μ‚΄νŽ΄λ³΄λ©΄ λ°˜ν™˜κ°’μœΌλ‘œ Bool νƒ€μž…μ„ κ°€μ§€λŠ” 것을 λ³Ό 수 μžˆλ‹€.

func valueComparison(_ valArr: [Int], _ inputArr: [Int]) -> Bool {}

μ΄λ•Œ, valueComparison() ν•¨μˆ˜ λ‚΄λΆ€μ—μ„œ 쑰건문을 μ‚¬μš©ν•˜λ©΄ λͺ¨λ“  κ²½μš°μ—μ„œ Bool νƒ€μž…μ˜ λ°˜ν™˜κ°’μ„ κ°€μ Έμ•Ό ν•˜λŠ”μ§€ κΆκΈˆν–ˆλ‹€.

이λ₯Ό μ›ν™œνžˆ ν•΄κ²°ν•˜μ§€ λͺ»ν•˜μ—¬ func valueInput() -> [Int] {} ν•¨μˆ˜ λ‚΄μ˜ νŠΉμ • μ‘°κ±΄μ—μ„œ [0,0,0]μ΄λΌλŠ” 더미값을 λ°˜ν™˜ν•˜μ—¬ 문제λ₯Ό ν•΄κ²°ν•˜μ˜€λ‹€.

λ¬Όλ‘ , μ½”λ“œλ‚˜ κΈ°λŠ₯에 이상은 μ—†μ—ˆμ§€λ§Œ 보기 μ’‹μ§€λŠ” μ•Šμ•˜λ‹€... πŸ₯²

μ΄λŸ¬ν•œ 문제λ₯Ό μ–΄λ–»κ²Œ κΉ”λ”ν•˜κ²Œ μ²˜λ¦¬ν• μ§€ 쒋은 방법을 찾지 λͺ»ν•˜μ—¬μ„œ, 맀우 κΆκΈˆν•˜μ˜€λ‹€.


2. νŠœν„°λ‹˜μ˜ ν”Όλ“œλ°±! πŸ’‘

과제λ₯Ό μ œμΆœν•˜κ³  μ–Όλ§ˆ μ§€λ‚˜μ§€μ•Šμ•„ ν”Όλ“œλ°±μ„ 받을 수 μžˆμ—ˆλŠ”λ°, 닡변을 보고 "μ™œ μ €λŸ° 생각을 λͺ»ν–ˆμ§€??"λΌλŠ” 의문이 생길 μ •λ„λ‘œ κ°„λ‹¨ν•˜κ³  κΉ”λ”ν•˜μ˜€λ‹€!

λ°”λ‘œ ν•¨μˆ˜μ˜ λ°˜ν™˜κ°’μ„ [Int]κ°€ μ•„λ‹Œ [Int]?으둜 μˆ˜μ •ν•˜λŠ” 것이닀!

그럼 ꡳ이 [0,0,0]μ΄λΌλŠ” 더미값을 λ§Œλ“€ ν•„μš”κ°€ 없어진 것이닀!!!

valueInput() ν•¨μˆ˜μ—μ„œ ν•„μš”ν•œ 값을 λ°˜ν™˜ν•  λ•ŒλŠ” κ·Έλƒ₯ [Int] νƒ€μž…μœΌλ‘œ λ°˜ν™˜ν•˜λ©΄ 되고, λ§Œμ•½ μ—λŸ¬ 처리λ₯Ό 톡해 값을 λ°˜ν™˜ν•  ν•„μš”κ°€ 없을 λ•ŒλŠ” return nil을 ν™œμš©ν•˜λ©΄ κ°„λ‹¨νžˆ ν•΄κ²°ν•  수 μžˆλŠ” λ¬Έμ œμ˜€λ‹€.

μ§€κΈˆκΉŒμ§€ μ ‘ν–ˆλ˜ ν”„λ‘œκ·Έλž˜λ°μ—μ„œ ν”ν•˜κ²Œ μ ‘ν•  수 μžˆλŠ” κ°œλ…μ΄ μ•„λ‹ˆμ˜€κΈ°μ—, μ΄λŸ¬ν•œ λ°©μ•ˆμ„ λ– μ˜¬λ € ν™œμš©ν•˜λŠ” κ²ƒμ—λŠ” 무리가 μžˆμ—ˆμ„κ±° κ°™λ‹€... πŸ˜…


3. 마무리! πŸ‘»

사싀 ν•΄λ‹Ή μ§ˆλ¬Έμ— λŒ€ν•œ ν”Όλ“œλ°± 말고도 λͺ‡λͺ‡ ν”Όλ“œλ°±μ΄ 더 μžˆμ—ˆμ§€λ§Œ, 과제λ₯Ό μ œμΆœν•˜κ³  κ²€ν† ν•˜λŠ” κ³Όμ •μ—μ„œ 찾은 λ¬Έμ œλ“€μ— λŒ€ν•œ ν”Όλ“œλ°±μ΄μ—ˆλ‹€.

κ·Έλž˜μ„œ ꡳ이 μ•Œκ³  μžˆλŠ” λ‚΄μš©μ„ μ€‘λ³΅ν•˜κ³  싢지 μ•Šμ•„, λ³„λ„λ‘œ μ •λ¦¬ν•˜μ§€λŠ” μ•Šμ•˜λ‹€.

Lv6κΉŒμ§€ 과제λ₯Ό μ™„λ£Œν•˜μ…¨κ΅°μš”. μˆ˜κ³ ν•˜μ…¨μŠ΅λ‹ˆλ‹€!
μ½”λ“œλ₯Ό κΉ”λ”ν•˜κ²Œ 잘 μž‘μ„±ν•΄μ£Όμ…¨μ–΄μš”.
Levelλ³„λ‘œ commit이 λ‚˜λ‰˜μ–΄μ Έ μžˆλŠ”κ²ƒλ„ μ’‹μ•˜μ–΄μš”!
그리고 μ˜ˆμ™Έμ²˜λ¦¬κ°€ μžˆλŠ” μ½”λ“œλ„ μΈμƒκΉŠμ—ˆμ–΄κ³ , 각 κΈ°λŠ₯듀이 ν•¨μˆ˜λ‘œ λ‚˜λ‰˜μ–΄μ Έ μžˆμ–΄μ„œ 가독성이 μ’‹μ•˜μ–΄μš”.

λͺ‡κ°€μ§€λ§Œ λ³΄μ™„ν•˜λ©΄ 더 쒋은 μ½”λ“œκ°€ 될거 κ°™μ•„μ„œ κ³΅μœ λ“œλ¦΄κ²Œμš” :)

첫째, 같은 κ°’ 3개λ₯Ό 넣어도(111) Nothing, Ball 등이 λ‚˜μ˜€κ³  μžˆμ–΄μš”. 였λ₯˜λ©”μ‹œμ§€λ§Œ 좜λ ₯ν•˜λ©΄ 쒋을거 κ°™μ•„μš”.
λ‘˜μ§Έ, valueInput ν•¨μˆ˜μ—μ„œ return [0,0,0]으둜 μ‚¬μš©ν•˜μ…¨λŠ”λ° ν•¨μˆ˜μ˜ 리턴값을 [Int]?둜 λ³€κ²½ν•˜κ³  return nil둜 μ‚¬μš©ν•˜λ©΄ 더 쒋을거 κ°™μ•„μš”.
λ§ˆμ§€λ§‰μœΌλ‘œ BaseballGame Struct을 μƒˆλ‘œμš΄ 파일둜 λ§Œλ“€μ–΄μ„œ κ΅¬ν˜„ν•˜λ©΄ 쒋을거 κ°™μ•„μš”.

그리고 func valueComparison(_ valArr: [Int], _ inputArr: [Int]) -> Bool {} κ°™μ€κ²½μš°λŠ”
ν•΄λ‹Ή ν•¨μˆ˜κ°€ λλ‚˜κΈ°μ „μ— Bool νƒ€μž…μ˜ true ν˜Ήμ€ falseλ₯Ό 리턴해야 λ¬Έμ œκ°€ λ°œμƒν•˜μ§€ μ•Šμ•„μš”.
μ™œλƒν•˜λ©΄ ν•¨μˆ˜λ₯Ό μ •μ˜ν•  λ•Œ Bool νƒ€μž…μ„ λ°˜ν™˜ν•œλ‹€κ³  μ„ μ–Έν–ˆλŠ”λ° Bool을 λ°˜ν™˜ν•˜μ§€ μ•ŠμœΌλ©΄ 였λ₯˜κ°€ λ°œμƒν•˜κΈ° λ•Œλ¬Έμ΄μ—μš”.

μˆ˜κ³ ν•˜μ…¨μ–΄μš”!

λ‹€μŒμ— μ°Ύμ•„λ³Ό μˆ˜λ„ μžˆκΈ°μ—, ν˜Ήμ‹œ λͺ°λΌ μ΄λ ‡κ²Œ ν”Όλ“œλ°± 전체 λ‚΄μš©μ„ μ˜¬λ €λ‘κ² λ‹€!

0개의 λŒ“κΈ€