레이블이 javascript인 게시물을 표시합니다. 모든 게시물 표시
레이블이 javascript인 게시물을 표시합니다. 모든 게시물 표시

2020년 2월 28일 금요일

javascript try~catch



출처 : https://www.hackerrank.com/

자바스크립트 D-day 3일 문제

* try~catch를 사용하면서, 인자로 들어오는 내용에 대해 역순으로 출력하라.
만약 숫자나 다른 형이 들어올 경우 에러 메시지를 출력하고 해당 객체를 출력하시오.


문자열을 잘라서 역순으로 정렬을 하고 다시 붙여서 String으로 출력한다.
split('') : 문자열을 구성하는 문자 하나씩으로 구성된 배열로 만들어준다.
reverse() :그 배열의 요소들을 역순으로 재배열해준다.
join('') : 배열의 요소를 인자로 들어오는 값으로 전부 연결해준다. 여기서 인자는 '' 아무것도 없으므로 순수하게 배열 요소들이 붙는 형태로 출력된다.


function reverseString(s) {
    var result = [];

    try{
        result = s.split('');
        result.reverse();
        result = result.join('');
        console.log(result);
    }catch(e) {
        console.log(e.message);
        console.log(s);
    }
}

결과

Input : 1234

Output : 4321

2019년 12월 20일 금요일

Javascript 변수 선언 키워드 Let 과 Const




* let and const

let : 블럭 사이에서만 활성 되는 변수 선언 키워드. 글로벌하게 사용할 수 있는 var 키워드와는 반대이다. 스코프를 벗어나면 해당 변수를 사용할 수 없다.
또한 let 으로 선언된 변수는 동일한 이름으로 다시 let으로 선언할 수 없다. (var는 가능함)

const : 상수. 값을 레퍼런스로써 읽기만을 하기 위한 변수 선언 키워드이다.
한번 할당하면 값을 변경할 수 없다. const로 선언된 변수는 반드시초기화를 해주어야 한다.


* 문제
PI 를 상수로 선언하고 r를 입력받아, 원의 넓이와 원둘레를 구하라.


function main() {
    // Write your code here. Read input using 'readLine()' and print output using 'console.log()'.
    const PI = Math.PI;
    let r = readLine();
    // Print the area of the circle:
    console.log(r * r * PI);
    // Print the perimeter of the circle:
    console.log(2 * r * PI);
    try {    
        // Attempt to redefine the value of constant variable PI
        PI = 0;
        // Attempt to print the value of PI
        console.log(PI);
    } catch(error) {
        console.error("You correctly declared 'PI' as a constant.");
    }
}

2019년 12월 18일 수요일

Javascript 문자열에서 특정 조건 문자 한개씩 찾기






문제 : 주어진 문자열에서 모음과 자음을 찾아내어 모음을 먼저 출력한 후, 자음을 출력하시오.

주어진 문자열 : javascriptloops
출력 :
a
a
i
o
o
j
v
s
c
r
p
t
l
p
s



1. 정규표현식을 이용하여 모음과 자음을 찾아냄
function vowelsAndConsonants(s) {
    var p1 = /[aeiou]/g; //모음, g의 의미: 플래그. 문자열 내의 모든 패턴을 검색
    var p2 = /[^aeiou]/g; //자음
    var arr1 = s.match(p1); //패턴에 일치하는 결과를 배열로 만들어준다.
    var arr2 = s.match(p2);
   
   for (var i of arr1) {
       console.log(i);
   }
   for (var j of arr2) {
       console.log(j);
   }
}

2. includes 함수를 이용하여 문자 탐색.
includes는 찾을 문자를 인자로 넣어주면 된다.


function vowelsAndConsonants(s) {
    var vowel= "aeiou";
    var consonants = "";
    
   
   for (var i in s) { //문자열 그 자체를 배열처럼 사용가능하다.
       if (vowel.includes(s[i])){
           console.log(s[i]);
       }else{
           consonants+= s[i] + "\n";
       }
   }
   console.log(consonants.trim());
}