영상
문제
<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
복사