[JavaScript][Programmers] 모음 사전

조준형·2021년 8월 30일
0

Algorithm

목록 보기
93/142
post-thumbnail

🔎 모음 사전

❓ 문제링크

https://programmers.co.kr/learn/courses/30/lessons/84512

📄 제출 코드

function solution(word) {
  let alpha = ['A', 'E', 'I', 'O', 'U'];
  for (let i = 1; i <= 5; i++) {
    dfs(alpha, 0, i);
  }
  // console.log(answers.sort());
  return answers.sort().indexOf(word)+1;
}
let answers = [];
function dfs(alpha, depth, num, arr = []) {
  if (depth == num) {
    let str = arr.join('');
    answers.push(str);
  }
  else {
    for (let i = 0; i < alpha.length; i++) {
      arr.push(alpha[i]);
      dfs(alpha, depth + 1, num, arr)
      arr.pop();
    }
  }
}
let word = "AAAE";
console.log(solution(word));

5주차 위클리 문제 모음 사전이다.
A E I O U 로 이루어진 길이가 5까지인 사전에서 word가 몇 번째 있는지 구하는 문제이다.
처음에 어떤 규칙이 있을 것 같아서 생각해보다가 떠오르지 않았다.
그래서 일단 AEIOU로 이루어진 문자열 조합을 만들어 정렬시킨다음 indexOf로 몇번째에 있는지 찾았다.
sort()가 문자열 기준으로 정렬하기때문에 안에 별다른 함수 없이 sort()만으로 사전순 정렬이 되었다.

profile
깃허브 : github.com/JuneHyung

0개의 댓글