function makePermutations(str) { let result = ''; for(let k = 0; k < str.length; k++){ let firstNum = str[k]; //k 반복문으로 인풋값 글자들을 반복한다. //그리고 k 글자를 하나씩 첫번째변수에 할당한다. let oneSet = ''; for(let j = 0; j < str.length; j++){ // k에게 붙을 인풋값 글자들을 j 반복문으로 반복한다. let oneEl = firstNum + str[j]; // 첫번째 변수에 j 글자를 붙이고 엘리먼트변수에 할당한다. oneSet = oneSet + oneEl + ','; //엘리먼트변수에 ','를 붙여 조합된 글자를 완성, 그리고 세트변수에 할당한다. } //그럼 이 j반복문 내에서 k글자에 붙어야하는 j글자가 차례대로 붙어 //하나의 k글자가 올때 붙는 모든 경우의 수가 완성된다. ex)'yy, ye, ys,' result = result + oneSet; }//그러고 나면 k반복문으로 넘어와 j반복문을 포함한 k글자들이 차례로 반복된다. 그 세트들을 결과변수에 할당한다. result = result.slice(0, (result.length - 1)) // 하지만 리턴하여 결과값을 내기 전에 문자의 맨 마지막 ','는 제거해주자 return result; } //스트링을 첫번째 변수에 할당 //[11 12 13] 23,123,123 //순서대로 반복하는 반복문 //그 속에서 반복하는 반복문 //이중 반복문 //123 //11 두번찍고 //12 //13 //