시험_3

박서현·2023년 8월 24일
0
post-thumbnail

문제

  • arr : 여러개의 단어가 들어있는 배열(중복 포함)
  • n : arr 요소의 n번째 문자 기준으로 정렬
  • arr에서 중복이 있는 단어는 출력에 완전히 제외
function solution(arr, n) {
    let newArr = []
    let uniqueArray = []
    
    //각 요소마다  arr 배열에 들어있는 갯수 구하기
    arr.forEach((one) => {
        let count = 0
        arr.forEach((two) => {
            if(one === two){
                count++
            }
        })
        newArr.push(count)
    });

    // 1개만 들어 있다면 uniqueArray에 넣는다
    newArr.forEach( (element, i) => {
        if(element === 1) {
            uniqueArray.push(arr[i])
        }
    })

    // 각 요소의 n번째 문자를 문자열 앞에 추가
    uniqueArray.forEach( (element, i) => {
        uniqueArray[i] = element[n] + element
    })

    //n번째 문자를 기준으로 정렬
    uniqueArray.sort()

    //만 앞에 붙어 있는 n번째 문자 없애기
    uniqueArray.forEach( (element, i) => {
        uniqueArray[i] = element.slice(1, element.length)
    })

    return uniqueArray
}
let arr = ["coke", "water", "glass", "dog", "dog", "yogurt", "vitamin"];
let n = 2;
console.log(solution(arr, n))

0개의 댓글