컴퓨터가 생성한 임의의 숫자(0~9 중복 X) =number
유저가 입력한 숫자 = input
두 가지 값을 비교하여 볼(B)과 스트라이크(S)를 카운트하는
로직을 작성해보자
const Match = function (input, number) {
let balls = 0
let strikes = 0
for (let i=0; i<3; i++) {
if (number.includes(input) {
if (number[i] === input[i]) {
strikes++
} else {
balls ++
}
}
}
반복문과 조건문을 활용해 로직을 작성하였다. 그런데 무엇을 리턴하지?
인풋값이 3자리 숫자가 아니라면??
로직을 보강해보자
if (input.length !==3 || typeof input !== Number)) {
result = '3자리 숫자만 입력하세요'
}
return result = `${balls}B${strikes}`
위의 함수와 합쳐보자
const Match = function (input, number) {
let result = ''
if (input.length !==3 || typeof input !== Number)) {
result = '3자리 숫자만 입력하세요'
} else {
let balls = 0
let strikes = 0
for (let i=0; i<3; i++) {
if (number.includes(input) {
if (number[i] === input[i]) {
strikes++
} else {
balls ++
}
}
return result = `${balls}B${strikes}`
}
간단한 숫자야구 게임이지만 조건문, 반복문 등 배웠던 문법들을
활용하는 즐거운 코딩이었다. 작성하다보니 코드가 긴 것 같다는 느낌이었다. 좀 더 간결하고 가독성 좋은 코드를 작성할 수 있게 노력하자!