본문 바로가기
iOS Swift/Study

Swift 숫자 맞추기 게임 1

by 야고이 2024. 3. 12.
728x90

240312

일단 과제 내용 대로 착실하게 파일을 나눠 봤다

github 에 올리기 까지 함 (아직 깃헙데스크 탑은 제대로 못쓰고 있지만,,)

 

하여간 이번 과제는 숫자 맞추기 인데 내가 쓴 코드는 단 한 줄도 없다

단 한줄도 못 썼지만 과제 내용을 보고 어떻게 구현할지 생각은 해봤다

레벨1 조건 
[1] 1에서 9까지의 서로 다른 임의의 수 3개를 정하고 맞추는 게임입니다
[2] 정답은 랜덤으로 만듭니다.(1에서 9까지의 서로 다른 임의의 수 3자리)

 

처음에는 세자리의 수를 랜덤으로 돌리면 되지 않나 생각 함.

let num = Int.random(in 111...999)

그러면 111...999 이렇게 범위를 정할 수 있는데 이건 조건에 걸렸다

1에서 9까지의 숫자일 것

 

위 방법은 내가 '세자리의 수' 라고 생각해서 그런건데 

사실 숫자 세개를 이어 붙이기만 하면 되잖아? 생각이 들었다

 

그렇다면 각 숫자마다 1에서 9까지 랜덤 돌리면 되지 않을까?

라는 생각까지 하고

 

이걸 어떻게 코드로 구현해야 할지 모르겠어서 튜터님께 물어봤다

코드 한줄 없이 물어보는 사람 나야나

 

근데 내가 생각하지 못한 조건이 있었으니,,

서로 다른 임의의 수 3자리

 

 그럼 어떻게 해야할지 생각해보는데, 내가 아는건 오직 if 문

숫자 세개가 모두 같지 않을때 숫자를 생성(?) 하면 되지 않을까 했는데 

훨씬 좋은 코드를 작성해 주셨다

if firstNum == secondNum || secondNum == thirdNum || thirdNum == firstNum {
                //숫자 중복시
                print("같은 숫자 존재", firstNum, secondNum, thirdNum)
            } else {
                //모두 다른 숫자
                print("모두 다른 숫자", firstNum, secondNum, thirdNum)
                break
            }

비교 연산자(or)를 사용해서 세가지 숫자 중 겹치는게 생기는 것을 체크 할 수 있는 if문 탄생

아는 내용이고 이해도 했는데 이게 생각이 안난다 생각이! ㅠㅠ

 

프린트 찍어보면 이런식으로 

근데 이제 문제는 이걸 어떻게 값을 리턴하지,,,?

그건 내일 알아보도록 하자

return 을 어케 해야 할지 몰라서 에러가 뜬채로 두는,,,

 

아차차 그리고 이 세개의 숫자들을 어떻게 다시 하나의 숫자로 붙일지는

하나씩 스트링에 넣어주고 다시 Int 로 묶어주는 방법을 생각했다,,

저번주라면 이것도 전혀 몰랐을거 같은데,, 신기하네

열심히 하자 화이팅

지적과 조언 그리고 문의 댓글 환영!

 

728x90

댓글