๐ฅ๋ฌธ์ ๋งํฌ
https://school.programmers.co.kr/learn/courses/30/lessons/42746
๐ฅ1 TRY ( ์คํจ )
์๋ ์ฝ๋๋ ์ฒซ๋ฒ์งธ๋ก ์์ฑํ ์ฝ๋ ์๋ค.
convert ํจ์๋ฅผ ์ด์ฉํด์ ๊ธฐ์กด numbers์ ์์๋ฅผ ๋ณํํ ๋ค ๊ทธ ๊ฐ์ ๊ธฐ์ค์ผ๋ก sorting ํ๋ ๋ฐฉ๋ฒ์ผ๋ก ํ์ด๋ฅผ ์งํํ๋ค.
ํ์ง๋ง convert ํจ์ ๋ด๋ถ์ return ํ๋ ์์์ด ์ ๋ชป ๋์๋ค. ์๋ฅผ๋ค์ด [ 3, 344 ] ๊ฐ ์์ ๊ฒฝ์ฐ ์ด๋ convert๋ฅผ ํตํด [ 3999, 3449 ] ๋ก ์ทจ๊ธ๋์ด ์ด ์์ ํฌ๊ธฐ๋ฅผ ๋น๊ตํ์ฌ answer์ ์์ฑ ํ๋ฉด 3344๊ฐ ๋๊ณ ์ด๋ ์ฌ๋ฐ๋ฅธ ๋ต 3443๊ณผ ์ผ์น ํ์ง ์๋๋ค. ๊ทธ๋ฆฌํ๊ฒจ return ํ๋ ํจ์๋ฅผ ๋ฐ๊พธ๊ฒ ๋๋๋ฐ ...
function solution(numbers) {
const convert = (n)=>{
if(n===1000){ return n }
if(n>=100){ return n*10 + 9}
if(n>=10){ return n*100 + 99}
return n*1000+999
}
const sorted = numbers.sort((a,b)=>{
const [convertedA,convertedB] = [convert(a),convert(b)]
return convertedB - convertedA
})
return sorted.reduce((acc,cur)=>{ return acc+=String(cur) },'');
}
๐ฅ2 TRY ( ์ฑ๊ณต )
1 TRY ๋์ ๋ณ๊ฒฝ๋ ์ ์ convet ๋ด๋ถ์ return ๋๋ ์์๊ณผ ๋ง์ง๋ง์ '0000' ๊ณผ ๊ฐ์ ์ค์ ๋ก ์กด์ฌํ์ง ์๋ ์๊ฐ ๋ฌธ์์ด๋ก ์ถ๋ ฅ๋จ์ ๋ฐฉ์งํ๋ ๋ถ๋ถ์ด๋ค. ( Number(answer) !==0? answer : '0' )
๋ณ๊ฒฝ๋ convertํจ ์๋ฅผ ์ด์ฉํ๋ฉด [3, 344] ๋ฅผ [3333, 3443] ๋ก ๋ณํํ์ฌ ๊ฐ ๊ฐ์ ๋น๊ตํ์ฌ ํฐ ์๊ฐ ๋จผ์ ์์ผ๋ก ์จ๋ค.
๊ทธ๋ฆฌํ์ฌ ์ถ๋ ฅ๋๋ ๊ฐ์ ์๊น์ ๋ค๋ฅด๊ฒ ์ฌ๋ฐ๋ฅด๊ฒ 3443 ์ด ์ถ๋ ฅ๋๋ค. ๐
function solution(numbers) {
const convert = (n)=>{
if(n===1000){ return n }
if(n>=100){ return n*10 + parseInt(n/100)}
if(n>=10){ return n*100 + n }
return n*1000+ n*100 + n*10 + n
}
const sorted = numbers.sort((a,b)=>{
const [convertedA,convertedB] = [convert(a),convert(b)]
return convertedB - convertedA
})
let answer = sorted.reduce((acc,cur)=>{ return acc+=String(cur) },'');
return Number(answer)!==0 ? answer : '0'
}
'๐Algorithm' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
ํ๋ก๊ทธ๋๋จธ์ค[JS] > ๋คํธ์ํฌ (0) | 2024.07.13 |
---|---|
ํ๋ก๊ทธ๋๋จธ์ค [JS] > ์์์ฐพ๊ธฐ (0) | 2024.07.07 |
ํ๋ก๊ทธ๋๋จธ์ค[JS] > ํ๋ฐฐ์์ (0) | 2024.06.29 |
ํ๋ก๊ทธ๋๋จธ์ค > ์ฑ๊ฒฉ ์ ํ ๊ฒ์ฌํ๊ธฐ (0) | 2024.06.02 |
ํ๋ก๊ทธ๋๋จธ์ค ์ฝ๋ฉํ ์คํธ ํ์ด(js) > ์์ฃผํ์ง๋ชปํ์ ์(lv1) (0) | 2023.08.04 |