코테 준비를 다시 시작해보자 - Greedy

Anny·2024년 10월 18일
0

1. 한 줄문자열을 배열로 쪼개기

Array.from()

https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/from

  • "String"이라는 문자열을 받았을 때, ["S", "t", "r", "i", "n", "g"] 배열로 쪼개고 싶을 때 사용하는 메쏘드
  • 배열 안의 모든 값을 처리하고 싶을 때 사용하는 메쏘드
  • 넘버 타입을 사용하고 싶다면 넘버를 스트링으로 처리한 후에 사용해야함.
console.log(Array.from('foo'));
// Expected output: Array ["f", "o", "o"]

console.log(Array.from([1, 2, 3], (x) => x + x));
// Expected output: Array [2, 4, 6]

2. 배열 안의 모든 값 더하기

https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/reduce

  • Reduce 메쏘드 사용하기
array.reduce((accumulator, currentValue, index, array) => {
    // 수행할 작업
}, initialValue);
  • accumulator: 누적된 값. 이전 호출의 반환 값이 여기 저장됩니다.
  • currentValue: 현재 배열 요소. 현재 반복 중인 요소를 나타냅니다.
  • index (선택 사항): 현재 요소의 인덱스.
  • array (선택 사항): reduce가 호출된 원래 배열.
const array1 = [1, 2, 3, 4];

// 0 + 1 + 2 + 3 + 4
const initialValue = 0;
const sumWithInitial = array1.reduce(
  (accumulator, currentValue) => accumulator + currentValue,
  initialValue,
);

console.log(sumWithInitial);
// Expected output: 10

3. 문자열로 이루어진 배열에서 최댓값, 최솟값 구하기

let arr = ["1", "2", "3"]
return Math.min(...arr)+' '+Math.max(...arr);

굳이 문자 -> 숫자로 변형시켜주지 않아도 Math 함수 사용이 가능하다...
내가 푼 노가다

  arr = arr.map((n) => Number(n));

  let min = arr[0];
  let max = arr[0];

  for (let i = 1; i <= arr.length; i++) {
    if (arr[i] < min) {
      min = arr[i];
      console.log('min', min);
    }
    if (arr[i] > max) {
      max = arr[i];
      console.log('max', max);
    }
profile
Newbie

0개의 댓글