항해 8일)JS- 17프로그래머스- 문자열 다루기 기본
&&(논리곱), ||(논리합) 연산자
문제 설명을 고대로 코드로 적어보았다.
문자열 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번
*답안 1번- 간략히 줄인코드
https://habitual-history.tistory.com/3
*parseInt()
https://dororongju.tistory.com/71
*블로그 ( &&(논리곱), ||(논리합) 연산자 )