CODETEST

[프로그래머스] 정수 내림차순으로 배치 / 형변환

wooodii 2022. 9. 19. 10:25

https://school.programmers.co.kr/learn/courses/30/lessons/12933

 

프로그래머스

코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.

programmers.co.kr

 

문제 풀이

function solution(n) {
	let answer = Number(n.toString().split("").sort((a,b => b-a).join(''));
    return answer; 
    }
function solution(n) {
	const new = n+"";
    const newArr = new.split("").sort().reverse().join("");
    return +newArr;
    }

 

형변환 방법 

엔진의 필요에 따라 사용하는 암시적 변환, 개발자의 의도에 따라 명시적 변환을 실행 

 

1) 암시적 변환

명령어를 수행하는 과정 중에 js엔진 자동 변환, 자바스크립트의 컴파일러에 의해 자동으로 일어남 

어떤 값이 연산되어질 때 필요한 상황에 따라 형변환이 발생 

* 더하기(+) 연산자

숫자보다 문자열이 우선시되기 때문에, 숫자형이 문자형을 만나면 문자형으로 변환해 연산 

한쪽만 문자열인 경우, 반대편도 문자열 형태로 형변환을 일으킨 뒤 연산을 수행 

덧셈 연산을 할 때는 양쪽 피연산자를 모두 숫자형으로 형 변환을 일으킨 뒤에 연산을 수행 

( true -> 1, false/null -> 0, undefined -> NaN) 

* 관계 연산자 

양쪽 모두 문자열인 경우를 제외하고 모두 숫자형으로 형 변환을 일으킨 뒤 연산 

* 동등 연산자 

동등 연산을 할 때는 주로 숫자형 형변환이 일어남

 

2) 명시적 변환 

의도적으로 어떤 값의 형태를 변형해서 사용

symbol은 자주 사용되지 않고, null과 undefined는 자료형이면서 동시에 값이기 때문에 필요한 경우는 그 값을 할당 

 - String()

문자열이 아닌 값을 문자열로 바꾸려 할 때 활용

  ++) 바라보는 객체의 모양 그래도를 문자열로 만들고 싶은 경우

console.log(JSON.stringify({name:'bigtop'})); // {"name" : "bigtop"}

// 객체의 경우에는 object가 그대로 출력되는데 
// 우리가 바라보는 객체의 모양 그대로를 문자열로 만들고 싶은 경우는 
// JSON 객체의 stringfy메서드 활용

 

 - Number()

빈 문자열은 0으로 변환,

123a와 같이 숫자 +문자가 혼합된 문자열은 NaN값으로 변환 

true =1 , false = 0으로 변환

null은 0으로 변환, undefined는 NaN으로 변환 

빈 객체는 그대로 NaN으로 변환

 

 - Boolean() 

어떤 값이 있는 것 같은 뉘앙스를 가진 값은 TRUE, 반대는 FLASE

 null / undefined / 0 / NaN / "" 빈문자열 >  false로 변환 

위 값을 제외한 모든 값들은 true로 변환

 

728x90