[LeetCode] 937. Reorder Data in Log Files (python, javascript)
728x90
반응형
1. python
class Solution:
def reorderLogFiles(self, logs: List[str]) -> List[str]:
nums=[]
letters=[]
for log in logs:
if log.split()[1].isdigit():
nums.append(log)
else:
letters.append(log)
# slice로 잘라서 그 후를 모두 지정할 수 있다
letters.sort(key=lambda x:(x.split()[1:],x.split()[0]))
# print(nums)
# print(letters)
return letters+nums
2. javascript
/**
* @param {string[]} logs
* @return {string[]}
*/
var reorderLogFiles = function(logs) {
letter=[]
digit=[]
//띄어쓰기 기준으로 배열로 만들어서 두 번째 수가 숫자인지 문자인지 판별하여
// 두개의 배열로 나누다
logs.forEach(log=>{
l=log.split(' ');
if(/\d/.test(l[1])){ //숫자인지 검사
// if(l[1]>='0' && l[1]<='9'){
digit.push(log)
}else{
letter.push(log)
}
})
letter.sort((a,b)=>{//식별자 뒤의 수를 기준으로 먼저 정렬하고 만약 같으면 식별자 기준 정렬
let aa=a.substr(a.indexOf(' ')+1);
let bb=b.substr(b.indexOf(' ')+1);
if(aa!==bb){//식별자 외 수를 정렬
return aa.localeCompare(bb);
}else{
return a.localeCompare(b);
}
});
return letter.concat(digit)
};
728x90
반응형
'Leetcode' 카테고리의 다른 글
LeetCode - Array Partition 1 (0) | 2020.10.06 |
---|---|
LeetCode. Group Anagrams (python) (0) | 2020.10.06 |
22. Generate Parentheses (0) | 2020.10.03 |
680. Valid Palindrome II (0) | 2020.10.03 |
[Leetcode] 819. most common word (python, javasciript) (0) | 2020.09.29 |
TAGS.