πŸ’― TIL) WeCode 2μ£Όμ°¨ 쀑간 test 정리!

SolmiiΒ·2020λ…„ 6μ›” 6일
0

JavaScript

λͺ©λ‘ 보기
19/24
post-thumbnail

6μ›” 5일 κΈˆμš”μΌ! μœ„μ½”λ“œμ—μ„œμ˜ 12일차!
JavsScript 5문제 쀑간 μ‹œν—˜μ΄ 진행됐닀!
사싀 쀑간 μ‹œν—˜μ΄λΌκ³ λŠ” ν•˜λ‚˜...λ­”κ°€ 채점을 ν•œλ‹€λ˜κ°€ μ μˆ˜κ°€ λ‚˜μ˜¨λ‹€λ˜κ°€ ν•˜λŠ”κ±΄ μ•„λ‹ˆκΈ°μ— κ°€λ³κ²Œ mini test μ •λ„λ‘œ μƒκ°ν•˜λ©΄ λ˜κ² λ‹€πŸ˜

μ €λ²ˆμ£ΌκΉŒμ§€λŠ” 뭐가 뭔지 감도 μ•ˆμ™”λŠ”λ°..... κ·Έλž˜λ„ λ‚˜λ¦„ 2μ£Όμ°¨ 됐닀고 30λΆ„λ§Œμ— λ‹€ ν’€μ—ˆλ‹Ή!!🀩🀩🀩🀩
그리ꡬ Model Solution μ΄λž‘λ„ λΉ„μŠ·ν•œκ²Œ κ½€ μžˆμ–΄μ„œ λ‚˜λ¦„ λΏŒλ“―ν•œ test μ˜€μŒγ…Žγ…Žγ…Žγ…Žγ…Žγ…Ž

그럼 정리 μ‹œ~μž‘!


πŸ’πŸ»β€β™€οΈ is_Even

Β Β λ‚˜μ˜ ν•΄κ²° 방법  

let is_even = x => {
  return x % 2 === 0 ? `짝수 μž…λ‹ˆλ‹€` : `μ§μˆ˜κ°€ μ•„λ‹™λ‹ˆλ‹€`;
}

is_even(4); // 짝수 μž…λ‹ˆλ‹€
is_even(7); // μ§μˆ˜κ°€ μ•„λ‹™λ‹ˆλ‹€

Β Β  Model SolutionΒ Β 

const is_even = num => {
  if(num % 2 === 0){
    return "짝수 μž…λ‹ˆλ‹€"
  } else
    return "μ§μˆ˜κ°€ μ•„λ‹™λ‹ˆλ‹€"
}

μ†Œμ˜¬~~찍히 Model Solution 보닀 더 μž˜ν–ˆλ”°!!! γ…‹γ…‹γ…‹γ…‹γ…‹γ…‹ 😝

JS Q&A μ—μ„œ λ“€μ—ˆλ˜ μ‚Όν•­μ—°μ‚°μžλ₯Ό μ“°λ©΄ λ”± 쒋을것 κ°™μ•„μ„œ λ°”λ‘œ μ¨λ¨Ήμ—ˆλ‹€!!


πŸ’πŸ»β€β™€οΈ get_prefix

Β Β λ‚˜μ˜ ν•΄κ²° 방법  

// let wecode = "μ–΄μ©Œκ΅¬ μ €μ©Œκ΅¬ -wecode";
let get_prefix = string => {
  let hyphen = string.indexOf('-');
  if(hyphen === -1) {
    return string;
  } else {
  return string.slice(0, hyphen);
  }
}
// get_prefix(wecode); // μ–΄μ©Œκ΅¬ μ €μ©Œκ΅¬  (뒀에 슀페이슀 ν•˜λ‚˜ κΉŒμ§€ 좜λ ₯됨)

근데 submit ν•˜κ³  λ³΄λ‹ˆ 이것도 if else ν•˜μ§€ 말고 μ‚Όν•­μ—°μ‚°μž μ“Έκ±Έ!!!! μ‹Άμ—ˆλ‹€...

κ·Έλž˜μ„œ unsubmit 함.... γ…‹γ…‹γ…‹γ…‹γ…‹γ…‹γ…‹γ…‹γ…‹γ…‹

Β Β λ‹€μ‹œ μ œμΆœν•œ λ‹΅Β Β 

// let wecode = "μ–΄μ©Œκ΅¬ μ €μ©Œκ΅¬ -wecode";
let get_prefix = string => {
  let hyphen = string.indexOf('-');
  return hyphen === -1 ? string : string.slice(0, hyphen);
}

// get_prefix(wecode); // μ–΄μ©Œκ΅¬ μ €μ©Œκ΅¬  (뒀에 슀페이슀 ν•˜λ‚˜ κΉŒμ§€ 좜λ ₯됨)

μ‚Όν•­μ—°μ‚°μž 졝였!!!!!!!!

Β Β  Model SolutionΒ Β 

function get_prefix(word) {
  return word.split('-')[0];
}

get_prefix('BTC-KRW'); // BTC

μ˜€λžœλ§Œμ— λ‘Έ? μ†Œλ¦¬κ°€ 절둜 λ‚˜μ˜¨λ‹€.

split ν•¨μˆ˜ 잘 μ•„λŠ”κ±°κ³ , μ‚¬μ „μŠ€ν„°λ””λ•ŒλΆ€ν„° repl.it 과제 ν•  λ•Œ κΉŒμ§€ 많이 μ¨λ΄€λŠ”λ°..... κΈ‰ν•˜κ²Œ ν•˜λ €λ‹€λ³΄λ‹ˆ 더 λ‹€μ–‘ν•œ 방법을 생각해내지 λͺ»ν•˜κ³  문제 읽자 마자 처음 μƒκ°λ‚œ slice 둜 λ°”λ‘œ ν•΄μΉ˜μ›Œλ²„λ Έλ‹€.

μ’€λ§Œ 더 κ³ λ―Όν–ˆμœΌλ©΄ split 으둜 짧게 끝낼 수 μžˆμ—ˆμ„ν…λ°......γ… γ… 


πŸ’πŸ»β€β™€οΈ calculate_total

Β Β λ‚˜μ˜ ν•΄κ²° 방법  

// let lunchPrice = 5000;
function calculate_total (price) {
  let tax = price * 9.5 / 100;
  let tip = price * 15 / 100;
  return price + tax + tip;
}

// calculate_total(lunchPrice); // 6225

μ΄κ±°λŠ” JS μ‚°μˆ  연산에 λŒ€ν•΄ 정리할 λ•Œ 봀던 곡식을 μ΄μš©ν–ˆλ‹€!
κΆκΈˆν•˜μ‹  뢄은 μ—¬κΈ° μ°Έκ³  (사싀 λ‚΄ λΈ”λ‘œκ·Έμ§€λ§Œγ…Žγ…Žγ…Žγ…Ž)
λ‚΄μž…μœΌλ‘œ λ§ν•˜κΈ° μ°Έ λ―Όλ§ν•˜μ§€λ§Œγ…Ž 잘 정리해둔 덕인지 λ°”λ‘œ ν’€μ—ˆλ‹€!

Β Β  Model SolutionΒ Β 

const calculate_total = num => {
  return num + num * 0.095 + num * 0.15;
}

πŸ’πŸ»β€β™€οΈ get_find

Β Β λ‚˜μ˜ ν•΄κ²° 방법  

// let text1 = 's',
//   string1 = "I'am solmi";
function get_find(text, string) {
  let strIndex = string.match(text);
  return strIndex === null ? -1 : strIndex.index;
}
// get_find(text1, string1);

μ‹œκ°„ μ € 였래걸린 λ¬Έμ œγ… γ… γ… γ… 
μ§„μ§œ 검색 μ•ˆν•˜κ³  μ‹Άμ—ˆμ§€λ§Œ....μ–΄μ©”μˆ˜κ°€ μ—†μ—ˆμŠ΅λ‹ˆλ‹€....

γ…‹γ…‹γ…‹γ…‹γ…‹γ…‹γ…‹γ…‹γ…‹γ…‹γ…‹ 정말 검색어 μˆ˜λ“„γ…‹γ…‹γ…‹γ…‹γ…‹γ…‹γ…‹γ…‹

μ–΄...? λ‚˜μ˜€λ„€....?

γ…‹γ…‹γ…‹γ…‹γ…‹γ…‹γ…‹γ…‹γ…‹γ…‹γ…‹γ…‹γ…‹ μ €λŠ” matchλ₯Ό μ‚¬μš©ν–ˆμŠ΄λ‹€.

5번째 μ€„μ—μ„œ strIndex.index λ₯Ό ν•œ μ΄μœ λŠ”, κ·Έλƒ₯ strIndex 만 return ν–ˆλ”λ‹ˆ

μ΄λ ‡κ²Œ 좜λ ₯λ˜μ–΄μ„œ, index λΌλŠ” key 값을 λ„£μ–΄μ€€ 것!!!

Β Β Bonus! searchλ‘œλ„ 해보기!Β Β 

μ•„λž˜ μ—°κ΄€ 검색어에 search κ°€ 있길래 μ΄κ±Έλ‘œλ„ μ‹œλ„ν•΄λ΄€λ‹€.

// let text1 = 's',
//   string1 = "I'am solmi";
function get_find(text, string) {
  let strIndex = string.search(text);
  return strIndex;
}
// get_find(text1, string1);

? indexOf λž‘ μ™„μ „ λ˜‘κ°™λ„€!!!

μ°ΎλŠ” λ¬Έμžκ°€ μ—†μœΌλ©΄ -1 을 λ°˜ν™˜ν•˜λŠ”κ²ƒ κΉŒμ§€ μ™„μ „ λ˜‘κ°™λ‹€!!

indexOf λž‘ search λŠ” 뭐가 λ‹€λ₯ΌκΉŒ??

indexOf λŠ” 일반 ν•˜μœ„ λ¬Έμžμ—΄μ„ μœ„ν•œ 것이고 search λŠ” μ •κ·œ ν‘œν˜„μ‹μ„ μœ„ν•œ 것이라고 ν•œλ‹€. μ—¬κΈ° μ°Έκ³ 
사싀 아직 무슨 말인지 잘 λͺ¨λ₯΄κ² λ‹Ή.....😞

Β Β  Model SolutionΒ Β 

function get_find(filter, sentence) {
  for (let i = 0; i < sentence.length; i++) {
    if (sentence[i] === filter) {
      return i;
    }
  }
  
  return -1;
}

get_find('a', 'I am a hacker');

μ–΅................ λ©”μ„œλ“œ λ”°λ‘œ μ•ˆμ“°κ³  μ™„μ „ μ‰½κ²Œ ν•΄κ²°ν•  수 μžˆμ—ˆλ„€..........?

γ… γ… γ… γ… γ… γ… γ… γ… γ… .........ꡬ글링 ν•œ λ‚΄ μžμ‹  λ°˜μ„±ν•΄......😭


πŸ’πŸ»β€β™€οΈ find_longestword

Β Β λ‚˜μ˜ ν•΄κ²° 방법  

// let testArr = ["PHP", "Exercises", "Backend", "hahahahahaha"];
function find_longest_word(strArr) {
  let longestWord = strArr[0];
  for (let i in strArr) {
    longestWord.length < strArr[i].length ? longestWord = strArr[i] : longestWord;
  }
  return longestWord;
}
// find_longest_word(testArr);

이 λ¬Έμ œλŠ” λ”±λ³΄μžλ§ˆμž repl.it - Object λ¬Έμ œκ°€ 생각났닀.

잘 λ‚˜κ°€λ‹€κ°€ μž‘μ€ μ‹€μˆ˜λ•Œλ¬Έμ— 닡이 μ•ˆλ‚˜μ˜¨μ μ΄ μžˆμ—ˆλ‹€.
κ·Έ 문제의 κ²½μš°μ—λŠ” λ‚˜μ˜¨ 값듀을 λ‹€ 더해야 ν–ˆμ–΄μ„œ

λ³€μˆ˜ += Arr[i];

μ΄λ ‡κ²Œ += 둜 값듀을 λͺ¨λ‘ 더해쀬어야 ν–ˆλŠ”λ°, = 둜 μ λŠ” λ°”λžŒμ— 값이 더해지지 μ•Šκ³  μƒˆλ‘œμš΄ κ°’μœΌλ‘œ λŒ€μΉ˜λ˜μ–΄λ²„λ Έμ—ˆλ‹€.

κ·Έλ•Œ 생각이 λ‚˜μ„œ κ·Έ 방식을 μ΄μš©ν•˜λ©΄ λ˜κ² λ‹€κ³  μƒκ°ν–ˆμŒ!

빈 λ³€μˆ˜ longestWord λ₯Ό μ§€μ •ν•˜κ³  거기에 strArr 의 첫번째 값을 지정해놓고 length 끼리 λΉ„κ΅ν•΄μ„œ 더 큰 κ°’μœΌλ‘œ 계속 λŒ€μΉ˜λ  수 μžˆλ„λ‘ for in문을 μ‚¬μš©ν–ˆλ‹Ή!

그리고 μ€€μ‹λ‹˜ μ„Έμ…˜ 듀은 ν›„λ‘œ κΈ‰ μ‹¬μ·¨ν•˜κ²Œ 된 μ‚Όν•­μ—°μ‚°μžλ₯Ό μ‚¬μš©γ…‹γ…‹γ…‹γ…‹γ…‹γ…‹γ…‹γ…‹

Β Β  Model SolutionΒ Β 

function find_longest_word(arr) {
  let longest = arr[0];
  for(let i = 0; i < arr.length; i++) {
    if(arr[i].length > longest.length) {
      longest = arr[i];
    }
  }
  
  return longest;
}

였!? λ‚΄ μ½”λ“œλž‘ μ™„μ „ λ˜‘κ°™!! for in λ¬Έμ΄λž‘ μ‚Όν•­μ—°μ‚°μž μ“΄κ±° λΉΌκ³  μ•„μ˜ˆ λ˜‘κ°™κ΅¬λ§Œ... λΏŒλ“―!!!!

profile
ν•˜λ£¨λŠ” μΉ˜μ—΄ν•˜κ²Œ 인생은 μ—¬μœ λ‘­κ²Œ

0개의 λŒ“κΈ€