[JS] 문제 54 - 연속되는 수

    문제 : 연속되는 수가 맞으면 YES, 틀리면 NO를 출력한다.

     

    배열 비교하는 방법

    1. JSON 이용하여 배열 비교

     

    JSON.stringify : json, Object 객체를 문자열로 변환

    JSON.parse : 문자열을 json, Object로 변환

    const input= "1 2 3 4 5";
    
    const inputData = input.split(' ').map(v => parseInt(v));
    
    
    const answer = []
    for(let i = inputData[0];i<=inputData.length;i++){
      answer.push(i)
    }
    
    
    if(JSON.stringify(answer) === JSON.stringify(inputData)){
      console.log("YES")
    } else {
      console.log("NO")​

    2. 문자열로 배열 비교

    const input= "1 2 3 4 5";
    
    const inputData = input.split(' ').map(v => parseInt(v));
    
    
    const answer = []
    for(let i = inputData[0];i<=inputData.length;i++){
      answer.push(i)
    }
    
    
    if(answer.join('') === inputData.join('')){
      console.log("YES");
    } else {
      console.log("NO") }

    -  배열 안에 여러가지 타입이 있을 경우 문제가 발생한다.

    - 안전하게 배열을 비교하기 위해서 JSON을 쓰는 편이 낫다.

    댓글