프로그래머스 영어 끝말잇기 (level 2)
6169 단어 JavaScript알고리즘코딩 테스트JavaScript
나의 풀이 (풀이 시간 : 19분)
function solution(n, words) {
if (words[0].length === 1) return [1,1];
let map = new Map();
map.set(words[0],1);
for (let i = 1; i < words.length; i++) {
if ((words[i-1][words[i-1].length-1] !== words[i][0]) || words[i].length === 1 || map.has(words[i])) {
let p1 = (i+1) % n === 0 ? n : (i+1)%n;
let p2 = Math.floor((i)/n)+1;
return [p1, p2];
} else {
map.set(words[i], 1);
}
}
return [0,0];
}
맵을 만들고, 단어가 업데이트 될 때마다 저장한다. words를 순회하면서 조건을 만족하지 않는다면 바로 리턴시킨다. 그렇지 않다면 map에 추가한다. 그리고 for문이 끝나면 자동으로 올바른 끝말잇기로 판단하고 [0,0]을 리턴한다.
Author And Source
이 문제에 관하여(프로그래머스 영어 끝말잇기 (level 2)), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://velog.io/@htogether7/프로그래머스-영어-끝말잇기-level-2저자 귀속: 원작자 정보가 원작자 URL에 포함되어 있으며 저작권은 원작자 소유입니다.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)