Algorithms/Programmers

    [JS] ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค : ์ •์ˆ˜ ๋‚ด๋ฆผ์ฐจ์ˆœ์œผ๋กœ ๋ฐฐ์น˜ํ•˜๊ธฐ

    [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] ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค : ํ•˜์ƒค๋“œ ์ˆ˜

    [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] ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค : ์ฝœ๋ผ์ธ  ์ถ”์ธก

    [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] ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค : ์•ฝ์ˆ˜์˜ ํ•ฉ

    [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] ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค : ์ง์ˆ˜์™€ ํ™€์ˆ˜

    [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? ๋‚˜๋จธ์ง€ ์—ฐ์‚ฐ..