추억 점수

Sheryl Yun·2023년 7월 11일
0

문제 링크🔗

처음 풀이

  • 각 name에 따른 yearning 점수를 보여주는 peopleInfo 생성
  • photo를 순회하며 각 차례의 element를 뽑는다.
  • element를 순회하며 각 자리의 이름(elem)에 맞는 score를 peopleInfo에서 찾아 answer의 id번째에 더한다.
  • 만약 elem이 name 중에 없으면 0점을 부여한다.
  • 문제점: 불필요한 객체 사용

새로운 풀이

  • name과 yearning의 인덱스는 동일하다. (같은 인덱스로 이름과 점수 매칭 가능)
  • 반환할 값(answer)은 각 photo 배열의 점수 합의 배열이다.
  • photos를 돌면서 photo 배열을 하나씩 꺼낸다. (이때 score 변수 선언)
  • photo를 돌면서 person을 하나씩 꺼낸다.
  • name 배열에 person이 있는지 확인한다.
  • yearning 배열에서 name 배열의 person 인덱스 자리에 해당하는 점수를 score에 더한다.
  • photo문 바깥에서 answer에 score를 추가한다. (다시 photos문을 돌기 시작하면 score 초기화)
  • 달라진 점: 객체 없이 배열 자체의 인덱스 활용
function solution(name, yearning, photos) {
    let answer = [];
    
    photos.forEach((photo) => {
        let score = 0;

        photo.forEach((person, index) => {
            if (name.includes(person)) {
                score += yearning[name.indexOf(person)];
            }
        });

        answer.push(score);
    });

    return answer;
}

** 7월 11일부터 7월 14일까지 채용 과제를 진행하여 4개의 포스팅을 한번에 올립니다.

profile
영어강사, 프론트엔드 개발자를 거쳐 데이터 분석가를 준비하고 있습니다 ─ 데이터분석 블로그: https://cherylog.tistory.com/

0개의 댓글