라라리라
2023.08.21 / Step 10 [함수] - 코딩 33 일차 본문
함수3_개념01_리턴.html
<script>
/*
[개념] 함수리턴
함수는 return 키워드를 통해서
함수 내부의 값을 밖으로 전달할 수 있다.
*/
function test(){
let a = 10;
return a;
}
let a = test();
document.write(a);
</script>
함수3_개념02_배열맥스.html
<script>
/*
[문제]
배열에 가장 큰 수를
반환해주는 함수를 만드시오.
[정답]
1243
*/
function arrmax (arr){
let max = 0;
for(let i = 0; i < arr.length; i++){
if(max < arr[i]){
max = arr[i];
}
}
return max;
}
let arr = [112, 343, 65, 2, 1243, 3];
let max = arrmax(arr);
document.write(max + "<br>");
</script>
함수3_개념03_배열중복확인함수.html
<script>
/*
[문제]
배열과 어떤 수를 매개변수로 사용하여
그 어떤 수가 배열 안에 있는지 검사해,
그 값이 있으면 true,
없으면 false를 반환하는 함수를 만드시오.
[예시]
1,5,3,2,4
*/
function checkNum (arr, num){
let check = false;
for(let i = 0; i < arr.length; i++){
if(arr[i] == num) {
check = true;
break;
}
}
return check;
}
let arr = [];
let i = 0;
while(true){
let r = Math.floor(Math.random() * 5) + 1;
if(checkNum(arr, r) == false){
arr.push(r);
i++;
}
if(i == 5) break;
}
document.write("arr = " + arr + "<br>");
</script>
함수3_문제1_랜덤이차원배열.html
<script>
/*
[문제]
이차원배열의 세로와 가로를 저장하면,
그 숫자만큼 랜덤으로 숫자를 넣어서
이차원 배열로 반환해주는 함수를 만드시오.
[예시]
4, 3
1 2 3
4 5 6
7 8 9
10 11 12
*/
function result (y, x){
let num = 1;
let rs = [];
for(let i = 0; i < y; i++){
let temp = [];
for(let j = 0; j < x; j++){
temp.push(num);
num++;
}
rs.push(temp);
}
return rs;
}
let r1 = Math.floor(Math.random() * 5) + 1;
let r2 = Math.floor(Math.random() * 5) + 1;
let rs = result(r1, r2);
for(let i = 0; i < rs.length; i++){
document.write(rs[i] + "<br>");
}
</script>
함수3_문제2_이차원배열맥스.html
<script>
/*
[문제]
이차원 배열에서 가장 큰 수를
반환하는 함수를 만드시오.
[정답]
455
*/
function lex (darr){
let max = 0;
for(let i = 0; i < darr.length; i++){
for(let j = 0; j < darr[i].length; j++){
if(max < darr[i][j]) max = darr[i][j];
}
}
return max;
}
let darr = [
[ 1, 43, 3, 54, 1],
[45, 41, 455, 4, 6],
[ 5, 21, 51, 32, 13]
];
let result = lex(darr);
document.write(result + "<br>");
</script>
함수3_문제3_이차원배열중복확인함수.html
<script>
/*
[문제]
이차원 배열과 어떤 수를 매개변수로 사용하여
그 어떤수가 배열 안에 있는지 검사해,
그 값이 있으면 true,
없으면 false를 반환하는 함수를 만드시오.
[정답]
true
*/
function checkNum (arr, num){
let check = false;
for(let i = 0; i < arr.length; i++){
for(let j = 0; j < arr[i].length; j++){
if(arr[i][j] == num) {
check = true;
break;
}
}
}
return check;
}
let arr = [
[ 8, 10, 4],
[22, 87, 11],
[52, 6, 90]
];
let num = 87;
let answer = checkNum(arr, num);
document.write(answer + "<br>");
</script>
함수3_문제4_교집합함수.html
<script>
/*
[문제]
arr1배열과 arr2배열을 매개변수로 받아서
서로 겹치는 값만 배열로 만들어서
반환해주는 함수를 만드시오.
[정답]
12, 43
*/
function rs (arr1, arr2){
let temp = [];
for(let i = 0; i < arr1.length; i++){
let check = false;
for(let j = 0; j < arr2.length; j++){
if(arr1[i] == arr2[j]){
check = true;
break;
}
}
if(check) temp.push(arr1[i]);
}
return temp;
}
let arr1 = [12, 32, 33, 43, 65];
let arr2 = [21, 12, 43, 2, 4, 5];
let answer = rs(arr1, arr2);
document.write(answer + "<br>");
</script>
함수3_문제5_차집합함수.html
<script>
/*
[문제]
arr1배열과 arr2배열을 매개변수로 받아서
서로 겹치지않는 값만 배열로 만들어서
반환해주는 함수를 만드시오.
[정답]
32,33,65,21,2,4,5
*/
function ali (arr1, arr2){
let temp = [];
for(let i = 0; i < arr1.length; i++){
let check = false;
for(let j = 0; j < arr2.length; j++){
if(arr1[i] == arr2[j]){
check = true;
break;
}
}
if(check == false) temp.push(arr1[i]);
}
for(let i = 0; i < arr2.length; i++){
let check = false;
for(let j = 0; j < arr1.length; j++){
if(arr2[i] == arr1[j]){
check = true;
break;
}
}
if(check == false) temp.push(arr2[i]);
}
return temp;
}
let arr1 = [12, 32, 33, 43, 65];
let arr2 = [21, 12, 43, 2, 4, 5];
let answer = ali(arr1, arr2);
document.write("answer = " + answer + "<br>");
</script>
'코딩 > 2023 JavaScript Console' 카테고리의 다른 글
2023.08.23 / Step 10 [클래스] - 코딩 35 일차 (0) | 2023.08.23 |
---|---|
2023.08.22 / Step 10 [함수] - 코딩 34 일차 (0) | 2023.08.22 |
2023.08.20 / Step 10 [함수] - 코딩 32 일차 (0) | 2023.08.20 |
2023.08.19 / Step 10 [함수] - 코딩 31 일차 (0) | 2023.08.19 |
2023.08.18 / Step 9 [문자열] - 코딩 30 일차 (0) | 2023.08.19 |