Search

함수4_문제03_타자연습

대분류
STEP10 함수/클래스
문제 난이도
필수
소분류
함수4_문제

영상

문제

<script> /* [문제] 철수는 타자연습 게임을 만들기 위해 단어들을 선정했다. 문제를 단순히 내면 재미없기 때문에 두 글자는 단어대신 * 로 출력하려고 한다. * 위치는 랜덤이고, 별은 반드시 두개가 되도록 각 단어들을 만들어서 새로운 배열에 저장 후 출력하시오. [예시] h*m* *eac* spr**ng fr*nt*nd java*cr*pt */ let wordTest = ["html", "react", "spring", "frontend", "javascript"]; </script>
Java
복사

해설

<script> /* [문제] 철수는 타자연습 게임을 만들기 위해 단어들을 선정했다. 문제를 단순히 내면 재미없기 때문에 두 글자는 단어대신 * 로 출력하려고 한다. * 위치는 랜덤이고, 별은 반드시 두개가 되도록 각 단어들을 만들어서 새로운 배열에 저장 후 출력하시오. [예시] h*m* *eac* spr**ng fr*nt*nd java*cr*pt */ function getCheckStar(str){ let count = 0; for(let i = 0; i < str.length; i++){ if(str[i] == "*"){ count += 1; } } return count; } function getChangeWord(word){ let newWord = ""; while(true){ let index1 = Math.floor (Math.random() * word.length); let index2 = Math.floor( Math.random() * word.length); for(let i = 0; i < word.length; i++){ if(i == index1 || i == index2){ newWord += "*" }else{ newWord += word[i]; } } let count = getCheckStar(newWord); if(count == 2){ break; } newWord = ""; } return newWord; } function getSolution(wordTest){ let arr = []; for(let i = 0; i < wordTest.length; i++){ let newWord = getChangeWord(wordTest[i]); arr.push(newWord); } return arr; } let wordTest = ["html", "react", "spring", "frontend", "javascript"]; let wordList = getSolution(wordTest); document.write(wordList); </script>
Java
복사