반응형
문제
글자 맨 끝에 있는 숫자대로 순서를 재배치해서 리턴하는 문제다. 이상하게 이 문제 왠지 풀이했던 기억이 안 나는데 한번 접근해보자!!
내 현재 풀이
/**
* @param {string} s
* @return {string}
*/
var sortSentence = function(s) {
let arr = s.split(' ');
let newArr = [];
for(let end of arr) newArr[end[end.length-1]-1]=end
arr = newArr.map(str=> str.slice(0,-1));
return arr.join(' ');
};
오랜만에 풀었던 문제중에 꽤나 고전하면서 다시 풀이했다. 고민했던 부분은 for문에 처음에 slice를 사용해서 풀이했는 데, 많은 케이스 중에서 통과하지 못하는 케이스가 발견돼서 인덱스 번호를 부여해서 직접 넣은 방법으로 해결했다.
내 예전 풀이
/**
* @param {string} s
* @return {string}
*/
var sortSentence = function(s) {
let newArr = [];
let arr = s.split(' ');
for(let i = 0 ; i < arr.length; i++){
let num = Number(arr[i].slice(arr[i].length-1));
newArr[num-1] = arr[i].slice(0,-1)
}
return newArr.join(' ')
};
예전풀이와 현재 풀이를 보면 내가 생각하는 부분이니가 풀이는 크게 달라지지는 않았지만, 시간이나 코드의 간결함을 확실히 올라간 게 이번에도 느껴진다.
다른 사람 풀이
const sortSentence = function(s) {
return s.split(' ')
.sort((a,b) => a[a.length-1] - b[b.length-1])
.map((word) => word.slice(0, word.length-1))
.join(' ');
};
나도 sort를 적용해보려고 했는데 실패했는데, 이렇게 사용하는 구나 깨닫고 간다.
이래서 다른사람의 풀이를 보는 것도 중요하긴 하다.
반응형
'LeetCode' 카테고리의 다른 글
1791. Find Center of Star Graph (0) | 2022.06.13 |
---|---|
1773. Count Items Matching a Rule (0) | 2022.06.13 |
1221. Split a String in Balanced Strings (0) | 2022.06.10 |
1389. Create Target Array in the Given Order (0) | 2022.06.09 |
1528. Shuffle String (0) | 2022.06.08 |
댓글