JavaScript

자바스크립트 활용-구구단

paintover23 2023. 6. 28. 15:49
728x90

[구구단 만들기- 함수활용]

function timesTable(n) {
    for(var i=1; i<=9; i++) {
        document.write(n+"x"+i+"="+n*i);
        
    }
}
timesTable(2); // 2단만 출력

timesTable(3); // 3단만 출력

[구구단 만들기- for문 활용]

for(var n=2; n<10; n++) {
    for(var i=1; i<10; i++) {
    document.write(n+"x"+i+"="+n*i+"<br>");
    }
}
+"<br>" 태그를 활용해 줄바꿈 가능

[함수를 활용한 "문자열" 출력]

function solution () {
return "Hi, Elice";
}
; 누락하지 않고 찍는 것 반드시 유의!!

[함수를 활용한 문자열,숫자 출력]

자바스크립트에서는 문자열 사이에 \n을 넣어 줄바꿈 가능
function solution() {
    return "400\nbus\nlike";
}
출력하면, 
400
bus
like

"" 사이에 표시하는 모든 문자가 들어가도록

[함수를 활용한 문자열,숫자 출력2]

변수 선언
var num = 400;
var str1 = "bus";
var str2 = "like";

function solution() {

  var num = 400;
  var str1 = "bus";
  var str2 = "like";

  return num + " " + str1 + " " + str2;
}
세 변수 사이에 공백 들어가야 하므로 ""를 추가해줌
출력하면
400 bus like

[함수를 활용한 문자열,숫자 출력3]

function solution() {
    var num1 = 1
    var num2 = 2 
    var str1 = "1"
    var str2 = "2"
  return [num1 + num2, str1 + str2];
}
각 변수의 합을 더할때는 [] 안에 넣어주기
출력하면
[3,12]

[문자열을 반복한 값을 반환하는 메서드]

.repeat()
string.repeat(count)
예제
function repeatString(inputA,inputB) {
    return inputA.repeat(inputB)
}

var inputA ="abc"
var inputB =2;

입력: abc
출력: abcabc

[문자열 배열 공백 제거 함수]
(참고사이트)
https://codechacha.com/ko/javascript-remove-spaces-in-string/

1. 문자열 왼쪽, 오른쪽 공백 모두 제거

(방법1)
/ /g는 문자열에서 모든 공백을 찾음. 찾은 공백은 ''으로 변환하여 제거됨.

let str = "Hello, World, JavaScript ";

let result =str.replace(/ /g, '');
console.log("[" + result + "]");

결과:
[Hello,World,JavaScript]

(방법2)
function removeBlank(inputA) {
return inputA.replace(/ /g,'');
}

var inputA = "hello world";

결과:
helloworld

2. split( ) 과 join( )으로 모든 공백 제거

let str = " Hello, World, JavaScript ";

let result = str.split(' ').join('');
console.log("[" + result + "]");

결과: 
[Hello,World,JavaScript]

[문자열 배열 알파벳(오름차순) 정렬]
.sort

function sortStringArray(inputA) {
    return inputA.sort();
}

var inputA = ["c", "b", "d"];

결과:
"b","c","d"

[문자열 배열 내림차순 정렬]
(참고자료)

(배열정렬) https://hianna.tistory.com/409
(문자열 대소비교) https://hianna.tistory.com/374

const arr = ['banana', 'b', 'boy'];

arr.sort(function(a, b) {
  if(a < b) return 1;
  if(a > b) return -1;
  if(a === b) return 0;
});
document.writeln(arr + '<br>'); // ['boy', 'banana', 'b']
ASCII 값 (대문자가 숫자가 더 빠르다)
숫자 0 ~ 10 : 48 ~ 57
알파벳 대문자  A ~ Z : 65 ~ 90
알파벳 소문자  a ~ z : 97 ~ 122

[역슬래시 기호 활용]

function solution() {
  방법1 return "\"It's all right.\"";
  방법2 return '"\It's all right."';
}
출력하고 싶은 큰 따옴표, 작은 따옴표 앞에 역슬래시 기호를 붙이기.
큰 따옴표 안에 작은 따옴표는 문제가 되지 X
작은 따옴표 안에 큰 따옴표도 문제가 되지 X

[N줄 입력 받기]

const arr = "goodnogoodnogood".split("no");
console.log(arr); // [good, good, good]로 출력됨
-> ""뒤에 .split("")메소드 붙이기
--> split 메소드는 "no"를 기준으로 원소들을 나누어 배열 반환함.
const arr = "elice\nrabbit\ncheshire\ndood\nhatter".split("\n")
console.log(arr);


function solution(input) {
  var answer;
  answer = input.split("\n");
  return answer;
}

--> [ 'elice', 'rabbit', 'cheshire', 'dood', 'hatter' ] 로 출력

[문자열 자르기] 이해 잘 안됨

function solution(str) {
	var answer = [];
    
    var a = str.split(" ");
    answer.push(typeof a);
    answer.push(a[0]);
    
    return answer;
    
}

[문자열을 나눠 배열 정렬]

function solution(money) {
  var no_money = money.split("500원");  
  return no_money;
}
money 문자열에서 "500원"을 기준으로 문자열을 나누어 리스트로 반환

출력하면,
[
  '',
  ', 엘리스 토끼는 하루 용돈으로 ',
  '. 단돈 ',
  '을 받는다. 부모님이 주시는 ',
  '. 하지만 잘못한 것이 있으면 ',
  '을 받지 못한다.'
]

[주어진 배열의 인덱스 접근하기]

function solution(hangul) {
    
  return hangul[0] + hangul[47] + hangul[23];
}
[] 표시로 인덱스 접근하면 됨

[함수 안에서 함수 호출하기]

function solution() {
    function add(x,y) {
        return x+y;
    }    
  return add;
}
function add() 라는 함수를 먼저 만들기
function add(x,y) 매개변수 생성
return x+y; 두 매개변수 합을 add 함수 안에서 리턴하기
마지막으로 만들어진 add 함수를 solution 함수 안에서 리턴하기
*함수 안에서 함수를 리턴할 경우, 함수를 호출하지 않고 함수명만 적기
--> add() 가 아니라 add로 작성해주어야 함.

[교통수단 선택하기]

function solution(money) {

 if(money >=1000) {
    answer= "택시";
 } else if(money >=500) {
    answer= "버스";
 } else if(money >=300) {
    answer= "지하철";
} else {
    answer= "도보";
}
  return answer;

}
가진 돈에 따라 다른 교통수단을 이용.
돈이 1,000원 이상이면 택시, 500원 이상이면 버스, 300원 이상이면 지하철을 이용할 예정이고 돈이 300원보다 없는 경우 도보를 이용.
가진 돈에 따라서 이용할 수 있는 가장 비싼 교통수단을 출력하기.

세부 값에 대한 출력은 answer
최종 출력 값은 return answer

else if 계속 쓰고 마지막은 else 로 닫아주기

[조건에 맞는 암호 출력]

function solution(input) {

  var number = input.split(" ")
    var a = number[0];
    var b = number[1];
    var c = number[2];
    var d = number[3];

answer = (a<=b && a==d && b>c && c<6) || (a==b && a==c && a==d);
  return answer;
}
1. 1의 자리 숫자 4개를 공백을 기준으로 입력받으세요.
2. 위의 1, 2, 3, 4의 조건을 동시에 충족하거나 5, 6, 7의 조건을 동시에 충족하는 경우 true를 아니라면 false를 출력합니다.

[약수 찾기]

function solution(input) {
    var answer = [];
    for (let i=1; i <= input; i++) {
        if (input % i === 0) {
            answer.push(i);
        }
    }
    return answer;
}

[369 게임] 이해안됨

function solution() {
  var answer = [];

  for (var i = 1; i <= 30; i++) {
      if ((i % 10) % 3 == 0 && i % 10 != 0) {
        answer.push("짝!");
      } else if (Math.floor((i / 10) % 3) == 0 && Math.floor(i / 10) != 0) {
        answer.push("짝!");
      } else {
        answer.push(i);
      }
  }

  return answer;
}

[숫자 출력]

function solution(num) {
  var answer = [];

  for (let i = 1; i <= num; i++) {
    answer.push(i);
  }

  return answer;
}

[특정 조건에 따라 문자로 바꾸기-링딩동]

function solution(s) {
var answer = "";

  for (var i = 0; i < s.length; i++) {
    if (s[i] == ' ') {
      answer += '링디기디기\n';
    } else if (s[i] == '.') {
      answer += '딩딩딩\n';
    } else {
      answer += '링딩동 ';
    }
  }
  return answer;
}
공백()은 ‘링디기디기’와 줄바꿈(엔터)를 출력
점 (.)은 ‘딩딩딩’과 줄바꿈(엔터)을 출력
공백과 점을 제외한 모든 글자는 ‘링딩동’과 띄어쓰기를 출력

+= 의 의미
value += 10;
value = value + 10;

[변수 다루기]

function solution(num, string) {

num += 204;
string += "elice!";

  return {num, string}; 
}
결과
num :1234, string: "hello, elice!"

num 변수에 204를 더하고 그 수를 num 변수에 저장해봅시다.
string 변수에 'elice!'를 더하고 그 문자열을 string 변수에 저장해봅시다.
num 변수와 string 변수를 객체 안에 넣어 solution 함수 내부에서 return 합니다.

[소수의 합 구하기]

function solution() {
  var sum= 0;
    for(var i= 1; i<=200; i++) {
        for(var j=2; j<=i; j++) {
            if(i%j == 0) {
                break;
            }
        }
    if (j==i) {
        sum+= j;
    }
    }

  return sum; 
}
728x90
반응형

'JavaScript' 카테고리의 다른 글

[자바스크립트] 스코프 체인 알아보기  (0) 2023.08.09
[자바스크립트] 콜 스택 분석하기  (0) 2023.08.09
자바스크립트 활용  (0) 2023.06.28
반복문  (0) 2023.06.28
조건문  (0) 2023.06.28