🟣 μ•Œκ³ λ¦¬μ¦˜ 문제 회고

κΉ€νƒœμš±Β·2022λ…„ 11μ›” 11일
0
post-thumbnail

🀣 κ·Έλ ‡κ²Œ μ‹œμž‘ν•œ μ•Œκ³ λ¦¬μ¦˜ 문제


λ°±μ€€μ˜ λ³΅μž‘ν•œ μž…λ ₯ μ •μ œ 방식이 μ–΄λ €μ›Œ 일단 λ¨Όμ € μž…λ¬ΈμœΌλ‘œ ν”„λ‘œκ·Έλž˜λ¨ΈμŠ€ 문제λ₯Ό ν’€κΈ° μ‹œμž‘ν–ˆλ‹€.

첫날 μ–΄λŠμ •λ„ 풀어보닀 문제λ₯Ό ν’€λ©° 깨달은 것은 λ©”λͺ¨ν•˜λŠ” μŠ΅κ΄€μ„ λ“€μ—¬ μžŠμ§€ μ•Šκ³ μž ν•œλ‹€!

  1. μž…λ¬Έ 문제 쀑 각도기 λ¬Έμ œμ—μ„œ 쑰건문에 쑰건을 μž‘μ„±ν•  λ•Œ "0 < angle < 90" 이런 연속 쑰건 λΉ„κ΅λŠ” μžλ°”μŠ€ν¬λ¦½νŠΈ νŠΉμ„± 상 ν•œλ²ˆμ— μ μš©ν•˜μ§€ λͺ» ν•˜κ³  "논리 μ—°μ‚°μž(||, &&)" λ₯Ό μ‚¬μš©ν•˜μ—¬ 두 비ꡐ 값에 쑰건을 만쑱 μ‹œμΌœμ€˜μ•Ό ν•œλ‹€.

  1. μ–‘κΌ¬μΉ˜ λ¬Έμ œμ˜€λŠ”λ°, 10인뢄 λ•Œ μ„œλΉ„μŠ€λ‘œ 음료 값을 κΉŽμ•„ μ€€λ‹€λŠ” μš”κ΅¬ κΈ°λŠ₯이 μžˆμ—ˆλŠ”λ° service λ³€μˆ˜λ₯Ό λ§Œλ“€μ–΄ ν•¨μˆ˜λ₯Ό ν• λ‹Ήν•˜λ €κ³ λ„ 해보고 막 해보닀 λ„μ €νžˆ 생각이 μ•ˆ λ‚˜ μ§ˆλ¬Έμ§€λ₯Ό μ°Έκ³ ν–ˆλŠ”λ° Math λ©”μ†Œλ“œλ₯Ό ν™œμš©ν•˜μ—¬ λ’€μ˜ μ†Œμˆ˜μ μ„ μ—†μ• λŠ” 방법이 μžˆμ—ˆλ‹€.
  • λ©”μ†Œλ“œμ˜ ν™œμš©μ„ 잘 μƒκ°ν•΄λ³΄μž!

  1. λ°°μ—΄μ˜ 평균 값을 κ΅¬ν•˜λŠ” λ¬Έμ œμ˜€λŠ”λ°, 이번 λ¬Έμ œλŠ” λ¨Όμ € 해결을 ν•˜κ³  λ‹€λ₯Έ λΆ„λ“€μ˜ 풀이가 κΆκΈˆν•˜μ—¬μ„œ μ°Ύμ•„λ΄€λŠ”λ° λ‚˜λŠ” array λ©”μ†Œλ“œ 쀑 reduce() λ©”μ†Œλ“œ λ‹€μŒμœΌλ‘œ λ‹€λ₯Έ 연산이 λΆ™κ²Œλ˜λ©΄ λ°˜ν™˜μ„ λͺ» ν•  쀄 μ•Œκ³  λ³€μˆ˜μ—λ‹€ λ°˜ν™˜ν•œ 값을 ν• λ‹Ήν–ˆλŠ”λ°, reduce() λ‹€μŒμœΌλ‘œ λ°”λ‘œ 값이 λ°˜ν™˜μ΄ λ˜λŠ”μ§€ λ‹€λ₯Έ 연산도 ν•¨κ»˜ 적용이 κ°€λŠ₯ν–ˆμ—ˆλ‹€!

[μš°ν…Œμ½”] 1μ£Όμ°¨ μ½”ν…Œλ₯Ό ν•˜λ©΄μ„œ 깨달은 μ•Œκ³ λ¦¬μ¦˜ 및 νŠΉμ„±.

  1. ν•΄λ‹Ή μžλ¦Ώμˆ˜μ— ν•΄λ‹Ήν•˜λŠ” λ°°μ—΄μ˜ 값을 μΆ”μΆœν•˜μ—¬ 계산을 μ μš©ν•˜λŠ” κΈ°λŠ₯ κ΅¬ν˜„λ¬Έμ œμ˜€λŠ”λ°,

Math.floor : ν•¨μˆ˜λŠ” 주어진 μˆ«μžμ™€ κ°™κ±°λ‚˜ μž‘μ€ μ •μˆ˜ μ€‘μ—μ„œ κ°€μž₯ 큰 수λ₯Ό λ°˜ν™˜ν•©λ‹ˆλ‹€.

console.log(Math.floor(5.95));
// expected output: 5

console.log(Math.floor(5.05));
// expected output: 5

console.log(Math.floor(5));
// expected output: 5

console.log(Math.floor(-5.05));
// expected output: -6

Math.trunc : ν•¨μˆ˜λŠ” 주어진 κ°’μ˜ μ†Œμˆ˜λΆ€λΆ„μ„ μ œκ±°ν•˜κ³  숫자의 μ •μˆ˜λΆ€λΆ„μ„ λ°˜ν™˜ν•©λ‹ˆλ‹€.

console.log(Math.trunc(13.37));
// expected output: 13

console.log(Math.trunc(42.84));
// expected output: 42

console.log(Math.trunc(0.123));
// expected output: 0

console.log(Math.trunc(-0.123));
// expected output: -0

두 λ©”μ†Œλ“œμ˜ 차이가 무엇일가 κΆκΈˆν•΄μ„œ μ°Ύμ•„λ³Έ 결과이닀!

μš”μ»¨λŒ€ 이 λ¬Έμ œμ—μ„œ λ‚΄κ°€ 깨달은 점은 λ°˜λ³΅λ¬Έμ„ μ™œ μ‚¬μš©ν•˜λŠ” 것인가?
λ°˜λ³΅λ¬Έμ„ μ‚¬μš©ν•˜λŠ” μ΄μœ λŠ”, 각 초기 값을 μ„€μ •ν•œ i λ₯Ό λ°˜λ³΅ν•˜μ—¬ 값을 ν• λ‹Ήν•˜κ³ 
ν•΄λ‹Ήν•˜λŠ” 인덱슀 [i] 값을 μΆ”μΆœν•˜μ—¬ ν• λ‹Ήν•œ λ°°μ—΄μ˜ 인덱슀 = coinArr[i] 값을 뢈러였기 μœ„ν•¨μ΄μ—ˆλ‹€. coinArr[i] 의 μΈλ±μŠ€μ— μœ„μΉ˜ν•œ 값듀을 ν•˜λ‚˜μ”© μ μš©ν•˜μ—¬ num에 λ“€μ–΄μ˜¨ 값을 λ‚˜λˆ„μ–΄ 남은 ν˜„κΈˆ 값은 μƒˆλ‘œμš΄ 배열에 ν• λ‹Ήν•˜μ—¬ 또 λ‹¨μœ„λ₯Ό ν™˜μ‚°ν•˜λŠ” μ‹μ˜ 풀이 λ°©μ‹μ΄μ—ˆλ‹€.


  1. λ§€κ°œλ³€μˆ˜μ— λ“€μ–΄μ˜€λŠ” 문자λ₯Ό λ‹¨μœ„ λ³„λ‘œ μͺΌκ°œ 배열을 λ§Œλ“€μ–΄ ν•΄λ‹Ή 인덱슀의 값을 λ°˜λŒ€μ˜ 문자둜 λ°”κΎΈλŠ” ν˜•μ‹μ˜ λ¬Έμ œμ˜€λ‹€,
    1. μ•ŒνŒŒλ²³μ˜ μ•„μŠ€ν‚€μ½”λ“œλ₯Ό μ°Έκ³ ν•˜μ—¬ ν•΄λ‹Ή μ§„μˆ˜ 값을 μ•Œμ•„λ‚΄ λ°˜λŒ€ λ˜λŠ” 값은 μ–΄λ–»κ²Œ κ°€μ§ˆμ§€,
    1. 더해 λ¬Έμžμ—΄μ„ λ‹¨μœ„λ³„λ‘œ λΆ„ν•΄ν•˜μ—¬ ν•΄λ‹Ή 문자의 숫자 λ°°μ—΄λ‘œ λ°˜ν™˜ν•˜λŠ” ν•˜μ˜€κ³ ,
    1. λ§ˆμ§€λ§‰μœΌλ‘œ ν•΄λ‹Ή 숫자의 λ°˜λŒ€λ˜λŠ” 값을 λ°°μ—΄λ‘œ λ‹΄μ•„λ‚΄λŠ” κ²ƒκΉŒμ§€ κ΅¬ν˜„μ„ μ™„λ£Œν–ˆμ—ˆλ‹€.

ν•˜μ§€λ§Œ λ§ˆμ§€λ§‰ answerμ—μ„œ λ°°μ—΄μ˜ μˆ«μžλ“€μ„ μ–΄λ–»κ²Œ 숫자둜만 μ μš©ν•˜μ—¬ μ§„μˆ˜λ₯Ό μ•ŒνŒŒλ²³μœΌλ‘œ 바꿀지가 λ‚œκ΄€μ΄μ—ˆλ‹€.
κ·Έ λ•Œ 이것저것 찾아보닀 μ•Œκ²Œλœ 것이 [...[λ°°μ—΄] μŠ€ν”„λ ˆλ“œ λ¬Έλ²•μ΄μ—ˆλ‹€.

μžλ°”μŠ€ν¬λ¦½νŠΈμ˜ λͺ¨λ“  것을 λ‹€λ£¨λŠ” μ‚¬μ΄νŠΈ JavaScript.info μ—μ„œ

"λ‚˜λ¨Έμ§€ λ§€κ°œλ³€μˆ˜μ™€ μŠ€ν”„λ ˆλ“œ 문법"

ν•΄λ‹Ή 뢀뢄을 μ°Έκ³ ν•˜μ—¬ μ μš©ν–ˆλ”λ‹ˆ ν•΄λ‹Ή 배열은 μˆ«μžμ—΄λ‘œ λ³€ν™˜ν•˜μ—¬ λ©”μ†Œλ“œμ— μ μš©ν•  수 μžˆμ—ˆκ³ 
문제λ₯Ό ν•΄κ²°ν•  수 μžˆμ—ˆλ‹€!

검색과 λ¬Έμ„œλ₯Ό μ°Έκ³ ν•˜λŠ” μŠ΅κ΄€μ„ κΈ°λ₯΄λ„둝 ν•΄λ³΄μž!


profile
방법을 연ꡬ할 쀄 μ•„λŠ” 개발자!

0개의 λŒ“κΈ€