코딩기록

항해 8일)JS- 17프로그래머스- 문자열 다루기 기본 본문

항해99/챕터2 알고리즘

항해 8일)JS- 17프로그래머스- 문자열 다루기 기본

뽀짝코딩 2022. 1. 17. 23:57
728x90

 

 &&(논리곱), ||(논리합) 연산자 

 

문제 설명을 고대로 코드로 적어보았다.

문자열 s의 길이가 4 혹은 6이고  /  숫자로만 구성돼있는지 확인해주는 함수 = 숫자로 바꿔라

s.length == 4 || s.length == 6   /    s = parseInt(s);

 

s가 "a234"이면 False를 리턴    //  "1234"라면 True를 리턴

if ( s == "a234){

     answer = False;

}

 

답안

function solution(s) {
    let answer = parseInt(s);                                //parseInt()를 이용해 문자열을 정수로 바꾼다.
    if ((s.length == 4 || s.length == 6) && s == answer){    //'s.length는 4혹은 6이다 && s'에서 
                                                             // s를 반환, 's는 answer와 동일하다'가 참이면
       answer = true;                                        // answer는 true가 저장, 리턴된다.
    } else {                                                 
        answer = false;                                      // if문이 거짓이면 answer는 false를 저장,된다.
    }
    return answer;                 
}

//&&는 AND논리 연산자로 1 && 2 에서
//1이 참이면 2를 반환하고 아니면 1을 반환한다.

* 매개변수 s 타입 확인

처음엔 s가 문자열

 

 

 

 

parseInt로 s는 정수형으로 변환함.

 

 

 

 

간략히 줄인 코드

function solution(s) {
   return (s.length == 4 || s.length == 6) && s == parseInt(s);
}

 

 

 

 

※ 알아야할것 ※

1. parseInt()  문자열 > 정수로 추출,변환

 

>aa는 문자열 2이다

typeof로 타입을 확인하면

string 을 확인할 수 있다.

 

>aa를 parseInt함수를 통해 숫자로 변환한다.

타입을 확인하면

number라고 찍히는것을 확인할 수 있다.

 

>bb는 문자열 2이다

typeof로 확인하면

string이 나온다.

 

> parseFloat를 통해 실수형 

number로 변환한다.

number로 찍힌다.

 

 

 

1). 소수를 출력해도 해당 소수점은 다 자르고 정수만 나온다.

ex) '78.963' === 78

 문자열에 소수로 들어가 있어도 정수 number형으로 바꾼다.

 

 

2). 문자열 내에 숫자 말고도 문자가 섞여 있어도 숫자만 그대로 출력해주는 기능이 있다.

   

       문자열 숫자로 시작 O

문자열이 숫자가 아닌 경우가 Number()와 조금 다른데

문자열이 숫자로 시작하는 경우에는

숫자가 끝날때 까지만 형변환을 하여 num에 저장된다.

 

 

 

 

 

 

 

                문자열  숫자로 시작 X

시작이 숫자가 아니면

Number()와 마찬가지로

num에 NaN이 저장된다.

 

 

 

 

 

 

 

 

 

 

 

 

 

참고

*답안 1번

https://bolob.tistory.com/70

*답안 1번- 간략히 줄인코드

https://habitual-history.tistory.com/3

*parseInt()

https://dororongju.tistory.com/71

*블로그 ( &&(논리곱), ||(논리합) 연산자 )

https://html6.tistory.com/424

https://curryyou.tistory.com/193

반응형
Comments