nums에 있는 숫자들을 일일히 비교해가면서 배열의 다른 몇개의 숫자보다 더 큰지 판별하는 것인 줄 알았다.
하지만 nums를 다른 배열에 넣어두고 nums를 정렬한 후 인덱스를 찾으면 훨씬 좋은방법이 된다는걸 깨달았다.
스위프트의 경우 nums는 let 변수이니 var에 담아두고 sort()나 sorted()함수를 이용하자
스위프트:
class Solution {
func smallerNumbersThanCurrent(_ nums: [Int]) -> [Int] {
var a = [Int]()
var b = nums
var s = nums
s.sort()
for i in 0..<nums.count{
a.append(s.firstIndex(of: b[i])!)
}
print(s)
return a
}
}
파이썬:
class Solution:
def smallerNumbersThanCurrent(self, nums: List[int]) -> List[int]:
b=[]
for i in range(len(nums)):
b.append(nums[i])
nums.sort()
arr=[]
for i,value in enumerate(b):
arr.append(nums.index(value))
return arr
'리트코드 풀이' 카테고리의 다른 글
leetcode 1281 풀이(파이썬, 스위프트) (0) | 2022.02.07 |
---|---|
leetcode 1720 풀이(파이썬, 스위프트) (0) | 2022.02.07 |
리트코드 771 풀이(파이썬, 스위프트) (0) | 2022.02.06 |
Leetcode 1431 풀이(파이썬, 스위프트) (0) | 2022.02.06 |
Leetcode 1470 풀이(파이썬, 스위프트) (0) | 2022.02.05 |