TIL29-06 오늘의 코딩테스트

김태혁·2023년 2월 11일
0

TIL

목록 보기
98/205

1. 외계어 사전

PROGRAMMERS-962 행성에 불시착한 우주비행사 머쓱이는 외계행성의 언어를 공부하려고 합니다. 알파벳이 담긴 배열 spell과 외계어 사전 dic이 매개변수로 주어집니다. spell에 담긴 알파벳을 한번씩만 모두 사용한 단어가 dic에 존재한다면 1, 존재하지 않는다면 2를 return하도록 solution 함수를 완성해주세요

spell dic result
["p", "o", "s"] ["sod", "eocd", "qixm", "adio", "soo"] 2
["z", "d", "x"] ["def", "dww", "dzx", "loveaw"] 1
["s", "o", "m", "d"] ["moos", "dzx", "smm", "sunmmo", "som"] 2

풀이 과정

  • dic 안의 각 원소 문자열의 중복을 제거하고, dic안의 각 문자열과 spell 비교했서 겹치는 걸 빼서 배열화 한다.
  • 겹치는 걸 빼온 문자열의 길이와 spell 문자열의 길이가 같다면 모든 문자를 사용한 것이 된다.

풀이 코드

function solution(spell, dic) {
    let newDic= dic.map((x)=> [...new Set(x)])
    let filteredDic= newDic.map((x)=> {
       return x.filter((y)=> spell.includes(y))
    })
    let dicLength =filteredDic.map((x)=> x.length )
    for (let i =0; i< dicLength.length; i++) {
        if (dicLength[i]===spell.length) {
            return 1
        }        
    }
    return 2   
}

2. 종이 자르기

머쓱이는 큰 종이를 1 x 1 크기로 자르려고 합니다. 예를 들어 2 x 2 크기의 종이를 1 x 1 크기로 자르려면 최소 가위질 세 번이 필요합니다.

M N result
2 2 3
2 5 9
1 1 0

풀이 코드

function solution(M, N) {
    return M*N -1 //두변의 곱에 -1을 해주면 된다.  
}
profile
도전을 즐기는 자

0개의 댓글