Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | ||||||
2 | 3 | 4 | 5 | 6 | 7 | 8 |
9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 | 17 | 18 | 19 | 20 | 21 | 22 |
23 | 24 | 25 | 26 | 27 | 28 |
Tags
- adb connect
- adb pair
- device in use
- Failed to compiled
- html
- rolldown
- camera access
- dvh
- github pdf
- 티스토리 성능
- github lfs
- react-native
- ELECTRON
- npm package
- react-native-dotenv
- Each child in a list should have a unique "key" prop.
- Can't resolve
- nextjs
- electron-packager
- custom printing
- vercel git lfs
- ffi-napi
- 이미지 데이터 타입
- Git
- silent printing
- augmentedDevice
- animation
- Recoil
- camera permission
- github 100mb
Archives
- Today
- Total
Bleeding edge
[LeetCode] 2287. Rearrange Characters to Make Target String - 자바스크립트 0610 본문
코딩테스트 공부
[LeetCode] 2287. Rearrange Characters to Make Target String - 자바스크립트 0610
codevil 2022. 6. 10. 13:01https://leetcode.com/problems/rearrange-characters-to-make-target-string/
Rearrange Characters to Make Target String - LeetCode
Level up your coding skills and quickly land a job. This is the best place to expand your knowledge and get prepared for your next interview.
leetcode.com
문제를 잘못이해해서 문제를 두번 풀었다..
1. target에 주어진 알파벳 숫자를 카운트한다
2. s에 주어진 알파벳 숫자를 카운트한다.
const maperMake = (target) => {
let map = new Map()
for (let i = 0; i < target.length; i++) {
if (!map.has(target[i])) {
map.set(target[i], 1)
} else {
map.set(target[i], map.get(target[i]) + 1)
}
}
return map
}
3. Math.floor(s에 주어진 알파벳 갯수 /target에 있는 알파벳 갯수)시킨다.
3-1 만일, 3이 없다면 NaN이 나오기 때문에 0이라고 계산한다
4 3과 3-1을 정렬에 넣는다.
for (let [element, key] of targetMap) {
let calc
if (sMap.has(element)) {
calc = Math.floor(sMap.get(element) / targetMap.get(element))
} else {
calc = 0
}
answer.push(calc)
}
처음에 순서가 중요한줄알고 다른식으로 풀이를 했었는데, 순서가 중요한게 아니었다.. ㅠㅠ
전체 풀이
var rearrangeCharacters = function (s, target) {
const sMap = maperMake(s)
const targetMap = maperMake(target)
const answer = []
console.log(sMap, targetMap)
for (let [element, key] of targetMap) {
let calc
if (sMap.has(element)) {
calc = Math.floor(sMap.get(element) / targetMap.get(element))
} else {
calc = 0
}
answer.push(calc)
}
return Math.min(...answer)
};
const maperMake = (target) => {
let map = new Map()
for (let i = 0; i < target.length; i++) {
if (!map.has(target[i])) {
map.set(target[i], 1)
} else {
map.set(target[i], map.get(target[i]) + 1)
}
}
return map
}
'코딩테스트 공부' 카테고리의 다른 글
[LeetCode] 2235. Add Two Integers - 자바스크립트 0613 (0) | 2022.06.13 |
---|---|
[LeetCode] 2295. Replace Elements in an Array - 자바스크립트 0610 (0) | 2022.06.10 |
[LeetCode] 2293. Min Max Game - 자바스크립트 0610 (0) | 2022.06.10 |
[LeetCode] 43. Multiply Strings - 자바스크립트 0609 (0) | 2022.06.09 |
[LeetCode]796. Rotate String - 자바스크립트 0609 (0) | 2022.06.09 |