-
Daily Coding1,2codeStates front-end/Algorithm 2023. 1. 13. 10:21๋ฐ์ํ
๐๋ฌธ์ 1( transformFirstAndLast )
๋ฐฐ์ด์ ์ ๋ ฅ๋ฐ์ ์ฐจ๋ก๋๋ก ๋ฐฐ์ด์ ์ฒซ ์์์ ๋ง์ง๋ง ์์๋ฅผ ํค์ ๊ฐ์ผ๋ก ํ๋ ๊ฐ์ฒด๋ฅผ ๋ฆฌํดํด์ผ ํฉ๋๋ค.
๐ฅ์ ๋ ฅ
์ธ์1 : arr
string ํ์ ์ ์์๋ก ๊ฐ๋ ๋ฐฐ์ด
๐ค ์ถ๋ ฅ
๊ฐ์ฒด๋ฅผ ๋ฆฌํดํด์ผ ํฉ๋๋ค
โ๏ธ์ฃผ์์ฌํญ
๋น ๋ฐฐ์ด์ ์ ๋ ฅ๋ฐ์ ๊ฒฝ์ฐ, ๋น ๊ฐ์ฒด๋ฅผ ๋ฆฌํดํด์ผ ํฉ๋๋ค.
์ ๋ ฅ์ผ๋ก ๋ฐ๋ ๋ฐฐ์ด์ ์์ ํ์ง ์์์ผ ํฉ๋๋ค.
๋์ ์๊ฐ
1. ๊ฐ์ฒด๋ฅผ ๋ฆฌํด -> ๊ฒฐ๊ณผ๊ฐ {key : value} ๋ก ๋์์ผ ํจ
2. ๋ฐฐ์ด์ ์ฐจ๋ก๋๋ก ์ ๋ ฅ -> 0์ด์์ ๋ฐฐ์ด์ ๊ธธ์ด๋ฅผ ์ ๋ถ ์ํ
3. ๋ฐฐ์ด์ ์ฒซ ์์ -> arr[0] -> ํค
4. ๋ฐฐ์ด์ ๋ง์ง๋ง ์์ -> arr[arr.length -1] -> ๊ฐ
5. ๋ฐฐ์ด์ ์ฒซ์์์ ๋ง์ง๋ง ์์๊ฐ ํค์ ๊ฐ -> ์ฒซ์์ = ๋ง์ง๋ง ์์
๋ํผ๋ฐ์ค(= ๋์์ฝ๋)
function transformFirstAndLast(arr) { let result = {}; if (arr.length > 0) { result[arr[0]] = arr[arr.length - 1]; } return result; }
๐๋ฌธ์ 2( computeWhenDouble )
์ฐ์ด์จ์ ์ ๋ ฅ๋ฐ์ ์๊ธ์ด 2๋ฐฐ ์ด์์ด ๋ ๋๊น์ง ๊ฑธ๋ฆฌ๋ ์๊ฐ(๋ )์ ๋ฆฌํดํด์ผ ํฉ๋๋ค.
๐ฅ์ ๋ ฅ
์ธ์1 : interestRate
number ํ์ ์ ์ฐ์ด์จ (%)
๐ค ์ถ๋ ฅ
- number ํ์ ์ ๋ฆฌํดํด์ผ ํฉ๋๋ค.
๋์ ์๊ฐ
1.๋ ์ ๋ฆฌํด -> year = 0
2.์ฐ์ด์จ ์ ๋ ฅ -> interestRate
3. ์๊ธ์ด 2๋ฐฐ ์ด์์ด ๋ -> ์๊ธ * ์ฐ์ด์จ = n๋ ์ ์๊ธ
์๊ธ -> myMoney ์ฐ์ด์จ -> interestRate n๋ -> year
4. ์๊ธ 2๋ฐฐ๋ฉด -> ๋ ์ ๋ฆฌํด 2๋ฐฐ ์๋๋ฉด -> ๊ณ์ ๋ฐ๋ณต
๋์์ฝ๋
// ์๋ชป๋ ์ฝ๋์ ๋๋ค function computeWhenDouble(interestRate) { let year = 0; for(let m=1;m<2;m++){ m = m + (m * interestRate/100); } return year; }
๋ํผ๋ฐ์ค
function computeWhenDouble(interestRate) { let rate = 1 + interestRate / 100; let principal = 1; let year = 0; while (principal < 2) { principal = principal * rate; year++; } return year; }
์๋ชป๋ ๋ถ๋ถ
์๊ธ์ ๋ณ์๋ก ์๋ชป๋ ๋ฐ๋ณต๋ฌธ์ ๋๋ฆผ
// ๋ด๊ฐ ์ฌ์์ฑํ ์ฝ๋ function computeWhenDouble(interestRate) { let year = 0; let myMoney = 1; while(myMoney < 2) { myMoney = myMoney + (myMoney * interestRate/100); year++ } return year; }
๋ฐ์ํ'codeStates front-end > Algorithm' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
Daily Coding 7 (0) 2023.01.20 Daily Coding 6 (0) 2023.01.19 Daily Coding 5 (0) 2023.01.18 Daily Coding 4 (0) 2023.01.17 Daily Coding 3 (4) 2023.01.16