1. 면접스터디_1회차
이력서 기반 질문
2. 프로그래머스
Lv1. 정수 내림차순으로 배치하기
function solution(n) {
const sortN = n.toString().split('').sort((a,b)=> b-a)
return +sortN.join('')
}
n.toString()
을 toString(n)
으로 쓰지 않기!n + ""
function solution(n) {
const newN = n + "";
const newArr = newN
.split("")
.sort()
.reverse()
.join("");
return +newArr;
}
function solution(n) {
//숫자가 분명히 더 빠름
var nums =[];
do{
nums.push(n%10);
n=Math.floor(n/10);
} while(n>0)
return nums.sort((a,b)=>b-a).join('')*1;
//문자는 느림
return (n+"").split('').sort((a,b)=>b-a).join('')*1;
}
Lv1. 이상한 문자 만들기
function solution(s) {
const splitS = s.slice(' ')
for(let i=0; i<splitS.length; i++){
for(let j=0; j<splitS[i].length; j++){
if(j%2 === 0){
splitS[i][j].toUpperCase() }
}
}
return splitS
}
s.slice(' ')
는 공백이 아니라 'undefined'를 기준으로 문자열을 자른다는 뜻splitS[i][j].toUpperCase()
는 새로운 문자열을 반환하기 때문에 다시 splitS[i][j]
에 할당해주어야 함function solution(s) {
const splitS = s.split(' ')
for(let i=0; i<splitS.length; i++){
let newS = '';
for(let j=0; j<splitS[i].length; j++){
if(j%2 === 0){
newS += splitS[i][j].toUpperCase() }
else{
newS += splitS[i][j].toLowerCase()
}
}
splitS[i] = newS
}
return splitS.join(' ')
}
function toWeirdCase(s){
return s.split(' ').map(i => i.split('').map((j, key) => key % 2 === 0 ? j.toUpperCase() : j.toLowerCase()).join('')).join(' ')
}
str.toUpperCase()