라라리라
2023.08.15 / Step 9 [문자열] - 코딩 27 일차 본문
문자열2_개념01_문자열배열.html
<script>
/*
[개념] 문자열 배열
[1] 문자열도 숫자와 마찬가지로 배열로 만들 수 있다.
a = ["김철수", "이민수", "유영희"]
[2] 배열은 숫자와 문자를 섞어서 만들 수 있다.
b = [1001, "김철수", 1002, "이민수", 1003, "유영희"]
[3] 이차원 배열도 만들 수 있다.
c = [
[1001, "김철수"],
[1002, "이민수"],
[1003, "유영희"]
]
*/
let stNo = [1001, 1002, 1003];
let stName = ["김철수", "이민수", "유영희"];
document.write(stNo + "<br>");
document.write(stName + "<br>");
let stInfo1 = [1001, "김철수", 1002, "이민수", 1003, "유영희"];
document.write(stInfo1 + "<br>");
let stInfo2 = [
[1001, "김철수"],
[1002, "이민수"],
[1003, "유영희"]
];
for(let i=0; i<stInfo2.length; i++) {
document.write(stInfo2[i] + "<br>");
}
</script>
문자열2_개념02_문자열비교.html
<script>
/*
[문제]
info배열은 학생 정보이다.
search배열의 내용이 info에 있으면 O, 없으면 X를 출력하시오.
[정답]
이민수O
김철수O
김상진X
*/
let info = ["김철수", "이민수", "유영희", "이민정", "조아라"];
let search = ["이민수", "김철수", "김상진"];
for(let i=0; i<search.length; i++) {
let check = false;
for(let j=0; j<info.length; j++) {
if(search[i] == info[j]) {
check = true;
break;
}
}
let result = search[i];
if(check) {
result += "O<br>";
} else {
result += "X<br>";
}
document.write(result);
}
</script>
문자열2_개념03_암호순환만들기.html
<script>
/*
[문제]
철수는 비밀번호는 아래와 같다.
철수는 비밀번호를 보호하기 위해 비밀번호 순환을 3번 반복했다.
순환이란, 글자를 한칸씩 앞으로 밀고 맨 앞의 글자는 뒤로 붙이는 걸 말한다.
철수가 만든 비밀번호를 만들어보시오.
[예시]
qwer1234
wer1234q
er1234qw
r1234qwe
[정답]
r1234qwe
*/
let password = "qwer1234";
for(let j = 0; j < 3; j++){
let temp = password[0];
let newpassword = "";
for(let i = 1; i < password.length; i ++){
newpassword+= password[i];
}
newpassword += temp;
document.write(newpassword + "<br>");
password = newpassword;
}
document.write("<br>");
document.write("정답 = " + password);
</script>
문자열2_문제01_수강취소.html
<script>
/*
[문제]
regist배열은 수강 신청을 신청한 학생명단이다.
cancel배열은 수강 철회를 신청한 학생명단이다.
수강신청을 한 학생들을 lastRegist에 저장 후 출력하시오.
[정답]
lastRegist = [김철민, 오사랑, 김밥집, 박대한]
*/
let regist = ["김철민", "이민정", "오사랑", "최면술", "김밥집", "박대한","조정민"];
let cancel = ["이민정", "최면술", "조정민"];
let lastRegist = [];
for(let i = 0; i < regist.length; i++){
let check = false;
for(let j = 0; j < cancel.length; j++){
if(regist[i] == cancel[j]){
check = true;
break;
}
}
if(check == false) lastRegist.push(regist[i])
}
document.write("lastRegist = " + lastRegist + "<br>");
</script>
문자열2_문제02_끝말잇기게임.html
<script>
/*
[문제]
아래 game배열은 철수와 민수가 서로 끝말잇기를 한 결과이다.
끝말 잇기가 틀린 단어를 출력하시오.
자전거 - 거미 : 정답
거미 - 미용실 : 정답
미용실 - 실업자 : 정답
실업자 - 자석 : 정답
자석 - 서유기 : 오답
서유기 - 기러기 : 정답
[정답]
서유기
*/
let game = ["자전거", "거미", "미용실", "실업자", "자석", "서유기", "기러기"];
for(let i = 0; i < game.length - 1; i++){
document.write(`${game[i]} - ${game[i + 1]} : `)
if(game[i][game[i].length - 1] == game[i + 1][0]) document.write("정답<br>");
else document.write("오답<br>");
}
</script>
문자열2_문제03_암호순환풀기.html
<script>
/*
[문제]
철수는 비밀번호는 아래와 같다.
철수는 비밀번호를 보호하기 위해 비밀번호 순환을 3번 반복했다.
순환이란, 글자를 한칸씩 앞으로 밀고 맨 앞의 글자는 뒤로 붙이는 걸 말한다.
철수가 만든 비밀번호를 풀어 원래대로 비밀번호를 복원하시오.
[정답]
qwer1234
*/
let password = "r1234qwe";
for(let i = 0 ; i < 3; i++){
let rs = "";
let temp = password[password.length - 1];
rs += temp;
for(let j = 0; j < password.length - 1; j++){
rs += password[j];
}
password = rs;
}
document.write("password = " + password +"<br>");
</script>
문자열2_문제04_영어단어게임.html
<script>
/*
[문제]
철수는 영어단어 타자 게임을 만들고 있다.
한 단어씩 출력하는데 그냥 출력하면 재미없기 때문에
랜덤 위치에 글자 대신 * 을 한 개 출력한다.
타자 게임을 구현을 위한 화면을 출력하시오.
[예시]
ja*a
pytho*
c+*
n*de
*avascript
*/
let wordList = ["java", "python", "c++", "node", "javascript"];
for(let i = 0; i < wordList.length; i ++){
let r = Math.floor(Math.random() * wordList[i].length);
for(let j = 0; j < wordList[i].length; j++){
if(j == r){
document.write("*");
}else document.write(wordList[i][j]);
}
document.write("<br>");
}
</script>
'코딩 > 2023 JavaScript Console' 카테고리의 다른 글
2023.08.17 / Step 9 [문자열] - 코딩 29 일차 (0) | 2023.08.17 |
---|---|
2023.08.16 / Step 9 [문자열] - 코딩 28 일차 (0) | 2023.08.16 |
2023.08.14 / Step 9 [문자열] - 코딩 26 일차 (0) | 2023.08.14 |
2023.08.07 / Step 8 [이차배열] - 코딩 19 일차 (0) | 2023.08.07 |
2023.08.06 / Step 8 [이차배열] - 코딩 18 일차 (0) | 2023.08.06 |