Algorithms/Programmers
[JS] ํ๋ก๊ทธ๋๋จธ์ค : ์ ์ ๋ด๋ฆผ์ฐจ์์ผ๋ก ๋ฐฐ์นํ๊ธฐ
Question ์ ์ถ๋ ฅ ์์ My Code function solution(n) { n = String(n); n = Number(n.split('').map(Number).sort((a, b) => b-a).join('')); return n; } HOW? (ํ์ด๋ฐฉ๋ฒ) ์ ๋ ฅ๋ฐ์ number๋ฅผ string์ผ๋ก ๋ณํํ๊ณ split()์ ์ด์ฉํด ์๋ฆฟ์ ๋ณ๋ก ๋๋๊ณ map(Number)์ผ๋ก string์ number๋ก ๋ณํํ๋ค. ์ซ์ ๋ฐฐ์ด์ sort((a, b) => b-a)๋ฅผ ํตํด ๋ด๋ฆผ์ฐจ์์ผ๋ก ๋ฐฐ์ด์ ์ ๋ ฌํ๋ค. join('')์ผ๋ก ๋ฐฐ์ด์ ๋ฌธ์์ด๋ก ๋ณํํ๋ค. ๋ค๋ฅธ ์ฌ๋์ ํ์ด๋ฅผ ๋ณด๋๊น sort()๋ก ์ซ์๋ฅผ ์ค๋ฆ์ฐจ์์ผ๋ก ์ ๋ ฌํด์ฃผ๊ณ everse()๋ก ๋ฐฐ์ด์ ๋ค์ง์ด ๋ด๋ฆผ์ฐจ์์ผ๋ก ์ ๋ ฌํ๋ ๋ฐฉ๋ฒ๋ ์์๋ค.
[JS] ํ๋ก๊ทธ๋๋จธ์ค : ํ์ค๋ ์
Question ์ฝ๋ฉํ ์คํธ ์ฐ์ต - ํ์ค๋ ์ ์์ ์ ์ x๊ฐ ํ์ค๋ ์์ด๋ ค๋ฉด x์ ์๋ฆฟ์์ ํฉ์ผ๋ก x๊ฐ ๋๋์ด์ ธ์ผ ํฉ๋๋ค. ์๋ฅผ ๋ค์ด 18์ ์๋ฆฟ์ ํฉ์ 1+8=9์ด๊ณ , 18์ 9๋ก ๋๋์ด ๋จ์ด์ง๋ฏ๋ก 18์ ํ์ค๋ ์์ ๋๋ค. ์์ฐ์ x๋ฅผ ์ ๋ ฅ๋ฐ์ x๊ฐ ํ programmers.co.kr ์ ์ถ๋ ฅ ์์ My Code ์ฒ์ ํ์๋ ๋ฐฉ๋ฒ function solution(x) { let num = String(x); let result = 0; for (let i = 0 ; i < num.length ; i ++) { result += Number(num[i]); } return x % result === 0 ? true : false ; } HOW? (ํ์ด๋ฐฉ๋ฒ) for๋ฌธ์ ์ด์ฉํ ํ์ด ์ ๋ ฅ๋ฐ์ ์์ ์๋ฆฌ๋ง๋ค ..
[JS] ํ๋ก๊ทธ๋๋จธ์ค : ์ฝ๋ผ์ธ ์ถ์ธก
Question ์ฝ๋ฉํ ์คํธ ์ฐ์ต - ์ฝ๋ผ์ธ ์ถ์ธก 1937๋ Collatz๋ ์ฌ๋์ ์ํด ์ ๊ธฐ๋ ์ด ์ถ์ธก์, ์ฃผ์ด์ง ์๊ฐ 1์ด ๋ ๋๊น์ง ๋ค์ ์์ ์ ๋ฐ๋ณตํ๋ฉด, ๋ชจ๋ ์๋ฅผ 1๋ก ๋ง๋ค ์ ์๋ค๋ ์ถ์ธก์ ๋๋ค. ์์ ์ ๋ค์๊ณผ ๊ฐ์ต๋๋ค. 1-1. ์ ๋ ฅ๋ ์๊ฐ ์ง์๋ผ๋ฉด 2 programmers.co.kr ์ ์ถ๋ ฅ ์์ My Code function solution(num) { let i = 0 ; while (i < 500) { if (num === 1 ) {return i ;} (num % 2 === 0 ? num = num / 2 : num = (num * 3) + 1); i++; } return -1; } HOW? (ํ์ด๋ฐฉ๋ฒ) ๋ฌธ์ ์ ๋์์๋ ์กฐ๊ฑด๋ค์ ์ ๋๋ ์ฃผ๊ณ ์ผํญ์ฐ์ฐ์๋ฅผ ์ด์ฉํด ์ฝ๋๋ฅผ ์ค์ด๋ฉด ๊น๋ํ ์ฝ๋๊ฐ ..
[JS] ํ๋ก๊ทธ๋๋จธ์ค : ์ฝ์์ ํฉ
Question ์ ์ n์ ์ ๋ ฅ๋ฐ์ n์ ์ฝ์๋ฅผ ๋ชจ๋ ๋ํ ๊ฐ์ ๋ฆฌํดํ๋ ํจ์, solution์ ์์ฑํด์ฃผ์ธ์. n์ 0 ์ด์ 3000 ์ดํ์ธ ์ ์์ ๋๋ค. ์ฝ์ (็ดๆธ) : ์ด๋ค ์๋ ์์ ๋๋์ด ๋๋จธ์ง๊ฐ ์์ด ๋จ์ด์ง๋ ์๋ ์์ ์ผ์ปซ๋ ๋ง. ์ ์ถ๋ ฅ ์์ ์ ์ถ๋ ฅ ์ #1 12์ ์ฝ์๋ 1, 2, 3, 4, 6, 12์ ๋๋ค. ์ด๋ฅผ ๋ชจ๋ ๋ํ๋ฉด 28์ ๋๋ค. ์ ์ถ๋ ฅ ์ #2 5์ ์ฝ์๋ 1, 5์ ๋๋ค. ์ด๋ฅผ ๋ชจ๋ ๋ํ๋ฉด 6์ ๋๋ค. My Code function solution(n) { let answer = 0; for (let i = 0 ; i
[JS] ํ๋ก๊ทธ๋๋จธ์ค : ์ง์์ ํ์
Question ํ๋ก๊ทธ๋๋จธ์ค : ์ง์์ ํ์ ์ ์ num์ด ์ง์์ผ ๊ฒฝ์ฐ "Even"์ ๋ฐํํ๊ณ ํ์์ธ ๊ฒฝ์ฐ "Odd"๋ฅผ ๋ฐํํ๋ ํจ์, solution์ ์์ฑํด์ฃผ์ธ์. ์ฝ๋ฉํ ์คํธ ์ฐ์ต - ์ง์์ ํ์ ์ ์ num์ด ์ง์์ผ ๊ฒฝ์ฐ "Even"์ ๋ฐํํ๊ณ ํ์์ธ ๊ฒฝ์ฐ "Odd"๋ฅผ ๋ฐํํ๋ ํจ์, solution์ ์์ฑํด์ฃผ์ธ์. ์ ํ ์กฐ๊ฑด num์ int ๋ฒ์์ ์ ์์ ๋๋ค. 0์ ์ง์์ ๋๋ค. ์ ์ถ๋ ฅ ์ num return 3 "Odd" 4 "Even" programmers.co.kr My Code function solution(num) { var answer = ''; (num % 2 === 0 ? answer = "Even" : answer = "Odd") return answer; } HOW? ๋๋จธ์ง ์ฐ์ฐ..