저글링케찹대전고수만

야 나 개 ·2021년 10월 29일
0

주간 문제아이돌 

목록 보기
4/17

잼민아 빨간색부터 죽여야함

빈집 오지 말고....

그럼 알고리즘 가자

7번문제

2차원 배열(배열을 요소로 갖는 배열)을 입력받아 각 배열을 이용해 만든 객체를 리턴해야 합니다.

예시

const arr = [
  ['make', 'Ford'],
  ['model', 'Mustang'],
  ['year', '1964'],
  ['make', 'Bill'],
];

let output = convertListToObject(arr);

console.log(output) // -->
{
  make : 'Ford'
  model : 'Mustang',
  year : '1964'
}

이 문제는 배열속 배열을 객체로 만들라는 문제야
ㅇㅋ?
근데 문제는 키값이 겹치면 처음 나온놈으로 해줘
그래서 이건 팁이 하나 있어
객체 문제 풀이

여기 가서 참고 하고와~~

그럼 정답코드

function convertListToObject(arr) {
  // TODO: 여기에 코드를 작성합니다.
  // 2차원 배열을 1차원으로 바꾸는게 쉬울까? 
  // 바로 반복문으로 해서 해볼께 
  // 결과를 나태내줄 객체을 선언해줘 
  let obj = {};

  for(let i = 0; i < arr.length; i++){
    if(obj[arr[i][0]] === undefined && arr[i].length > 0){
      obj[arr[i][0]] = arr[i][1];
    }
  }
  return obj;
}

8번문제

문자열을 입력받아 해당 문자열에 등장하는 두 칸의 공백을 모두 한 칸의 공백으로 바꾼 문자열을 리턴해야 합니다.

예시

let output = convertDoubleSpaceToSingle('string  with  double  spaces');
console.log(output); // --> "string with double spaces"

이번문제는 정말 간단해 ㅋㅋㅋㅋㅋㅋㅋ
두번 띄어쓰기를 찾아서 하나로 하면되는거지? ㅋㅋㅋㅋㅋㅋㅋㅋㅋ
(말은 쉽지.....)

첨에 생각해내는게 좀 여러울꺼야 ....
이걸 배열로 만들어야 하나
이중 반복문을 써야 하나......

너무 많이 알고 있으면 오히려 여럽지 ㅋㅋㅋㅋㅋ

이건 🐶꿀팁 하나줄께

if 조건문을 쓰고 해당하는건 건너뛰고 싶으면
continue을 넣으면됨
근데 안써도 그냥 넘어가짐 ㅋㅋㅋㅋㅋ

그니까
띄어쓰기 반복되면 그냥 넘어가줘 이런거야

다른 사람도 이해하기 쉽게 우린 적자고 ㅇㅋ?

정답코드는 3개 적어줄께 참고해

정답코드


function convertDoubleSpaceToSingle(str) {
  // TODO: 여기에 코드를 작성합니다.
  // 띄어쓰기 반복인것은 건너뛰고 넣어주쟈 

  첫번째 문제풀이 
  let strArr = str.split('');
  let result = '';
  for(let i = 0; i < strArr.length; i++){
    if(str[i] === ' ' && strArr[i+1] === ' '){
      continue
    }
    else{
      result = result + strArr[i]
     }
   }
   return result;
  
  두번째 문제풀이 
  return str.split('  ').join(' ')

  세번째 문제풀이
  let result = '';
  for(let i = 0; i < str.length; i++){
    if(str[i] === ' ' && str[i+1] === ' '){
      continue
    }
    else{
      result += str[i]
    }
  }
  return result;
}

다음 문제로 돌아온다
빠이

profile
야 나도 개발자 될 수 있어

0개의 댓글