πŸ“‚ Base/μ•Œκ³ λ¦¬μ¦˜

μ—°μ†λœ ν•œμžλ¦¬ ν™€μˆ˜ 숫자 사이에 - λ₯Ό μΆ”κ°€ν•œ λ¬Έμžμ—΄μ„ λ¦¬ν„΄ν•˜κΈ°

Dev. Ella 2023. 3. 27. 23:35

πŸ“œ 문제

λ¬Έμžμ—΄μ„ μž…λ ₯λ°›μ•„ μ—°μ†λœ ν•œμžλ¦¬ ν™€μˆ˜ μˆ«μž μ‚¬μ΄μ— '-'λ₯Ό μΆ”κ°€ν•œ λ¬Έμžμ—΄μ„ λ¦¬ν„΄ν•΄μ•Ό ν•©λ‹ˆλ‹€.

 

⚠️ μ£Όμ˜μ‚¬ν•­

0은 짝수둜 κ°„μ£Όν•©λ‹ˆλ‹€.

 

✍🏻 λ‚΄ 풀이: parseInt( )둜 μ •μˆ˜ λ°˜ν™˜

function insertDash(str) {
  let newStr = str.charAt(0);

// λ¬Έμžμ—΄ 순회 ν›„ 인덱슀 λ‹¨μœ„λ‘œ μͺΌκ°œκΈ°
  for(let i=1; i<str.length; i++){
    result = (parseInt(str.charAt(i)))
    
    // ν™€μˆ˜ μ—¬λΆ€ νŒλ‹¨ ν•  두 κ°€μ§€ λ³€μˆ˜ μ„ μ–Έ
    let befNum = str.charAt(i-1);
    let curNum = str.charAt(i);

  	// ParseInt μ‚¬μš©ν•΄ 두 인덱슀λ₯Ό μ •μˆ˜λ‘œ λ°˜ν™˜ν•΄ 각각 ν™€μˆ˜μΈμ§€ 비ꡐ
    if(parseInt(befNum)%2 === 1 && parseInt(curNum)%2 === 1){
      // ν™€μˆ˜λΌλ©΄ 각 문자 사이에 - μΆ”κ°€ν•˜μ—¬ ν•¨κ»˜ 리턴
      newStr = newStr.concat('-',curNum);
    } else {
      // μ•„λ‹ˆλΌλ©΄ λ¬Έμžμ—΄λ§Œ 합쳐 리턴
      newStr = newStr.concat(curNum);
    }
  }
  return newStr;
}

 

✍🏻 또 λ‹€λ₯Έ 풀이: Number( )둜 숫자 λ°˜ν™˜

function insertDash(str) {

  // μ΄ˆκΈ°κ°’μ„ str[0]으둜 μ„€μ •
  let result = str[0];

  // 반볡문으둜 첫 κ°’λΆ€ν„° ν™€μˆ˜μΈμ§€ 확인
  for (let i = 1; i < str.length; i++) {
    // str[i]λŠ” λ¬Έμžμ—΄ μƒνƒœμ΄λ―€λ‘œ Number()을 μ‚¬μš©ν•΄ 숫자 λ°˜ν™˜ ν›„ ν™€μˆ˜ νŒλ³„
    if (Number(str[i - 1]) % 2 && Number(str[i]) % 2) {
      result = result + '-';
    }
    result = result + str[i];
  }
  return result;
}

 

✍🏻 또또 λ‹€λ₯Έ 풀이: ꡳ이 μ •μˆ˜λ‘œ λ°˜ν™˜ν•˜μ§€ μ•Šμ•„λ„ 됨

function insertDash(str) {

  // μ΄ˆκΈ°κ°’μ„ str[0]으둜 μ„€μ •
	let result = str[0];
    
  // 반볡문으둜 첫 κ°’λΆ€ν„° ν™€μˆ˜μΈμ§€ 확인
  for(let i = 1; i < str.length; i++){
    // ν™€μˆ˜μ™€ ν™€μˆ˜ 사이인지 확인, JS의 μœ μ—°ν•¨μœΌλ‘œ Number()λ₯Ό μ•ˆ 써도 되긴 함
    if(str[i - 1] % 2 !== 0 && str[i] % 2 !== 0){
        result += '-';
      }
      result += str[i];
  }
  return result;
}

 

πŸ’‘ μ•Œμ•„λ‘λ©΄ 쒋을 κ°œλ…

parseInt( )

parseInt() ν•¨μˆ˜λŠ” λ¬Έμžμ—΄ 인자λ₯Ό νŒŒμ‹±ν•˜μ—¬ νŠΉμ • μ§„μˆ˜(수의 진법 μ²΄κ³„μ—μ„œ 기쀀이 λ˜λŠ” κ°’)의 μ •μˆ˜λ₯Ό λ°˜ν™˜ν•œλ‹€.

 

 

CharAt( )

charAt() ν•¨μˆ˜λŠ” λ¬Έμžμ—΄μ—μ„œ νŠΉμ • μΈλ±μŠ€μ— μœ„μΉ˜ν•˜λŠ” μœ λ‹ˆμ½”λ“œ λ‹¨μΌλ¬Έμžλ₯Ό λ°˜ν™˜ν•œλ‹€. (좜처: mdn)

const sentence = 'The quick brown fox jumps over the lazy dog.';
const index = 4;

console.log(`The character at index ${index} is ${sentence.charAt(index)}`);
// "The character at index 4 is q"

 

 

πŸ‘©πŸ»‍πŸ’» 배운 점

μžλ°”μŠ€ν¬λ¦½νŠΈμ˜ μœ μ—°ν•¨μœΌλ‘œ 인해 μ •μˆ˜λ‘œ λ°˜ν™˜ν•˜μ§€ μ•Šμ•„λ„ ν…ŒμŠ€νŠΈλŠ” 톡과가 되긴 ν•œλ‹€.