[알고리즘] 문자열 구분
N개의 문자열 속에서 문자열을 구분할 수 있는 최소 길이
입력 예제 |
["Seesue", "Seetue", " Seautw"]
출력 예제 |
3
이유 -> 모두 Se를 유지하다가 3번째에서 세 단어를 구별할 수 있게 된다.
- words[0]만큼 돌아주면서 (사실 가장 짧은 배열을 찾기 위해 sort를 진행해주어도 좋다.) new Map을 생성한다.
- map 에 substrinng(0,i+1); 만큼 잘라주면서 만약, map.has에 가지고 있지 않다면 flag 값을 변경해주어 break 문을 빠져나가게끔 해준다.
function solution(words) {
let answer, i;
for(i=0;i<words[0].length;i++){
let sH=new Map();
let flag=true;
for(let j=0;j<words.length;j++){
let sub=words[j].substring(0,i+1);
if(sH.has(sub)){
flag=false;
break;
}
sH.set(sub,1);
}
if(flag)
break;
}
answer=i+1;
return answer;
}
Author And Source
이 문제에 관하여([알고리즘] 문자열 구분), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://velog.io/@mingsomm/알고리즘-문자열-구분저자 귀속: 원작자 정보가 원작자 URL에 포함되어 있으며 저작권은 원작자 소유입니다.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)