Skip to content

Commit b144d5d

Browse files
authored
Merge pull request #1495 from byol-han/main
[byol-han] WEEK 08 solutions
2 parents 4961f6c + 1e9a6bb commit b144d5d

File tree

3 files changed

+68
-0
lines changed

3 files changed

+68
-0
lines changed
Lines changed: 31 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,31 @@
1+
/**
2+
*
3+
* @param {string} s
4+
* @param {number} k
5+
* @return {number}
6+
*/
7+
var characterReplacement = function (s, k) {
8+
let start = 0;
9+
let maxLength = 0;
10+
let maxCharCount = 0;
11+
let count = {};
12+
13+
for (let end = 0; end < s.length; end++) {
14+
const char = s[end];
15+
count[char] = (count[char] || 0) + 1;
16+
17+
// ํ˜„์žฌ ์œˆ๋„์šฐ ์•ˆ์—์„œ ๊ฐ€์žฅ ๋งŽ์ด ๋‚˜์˜จ ๋ฌธ์ž ์ˆ˜ ๊ฐฑ์‹ 
18+
maxCharCount = Math.max(maxCharCount, count[char]);
19+
20+
// ๋ฐ”๊ฟ”์•ผ ํ•˜๋Š” ๋ฌธ์ž ์ˆ˜๊ฐ€ k๋ณด๋‹ค ๋งŽ์œผ๋ฉด โ†’ ์™ผ์ชฝ ํฌ์ธํ„ฐ ์ด๋™
21+
if (end - start + 1 - maxCharCount > k) {
22+
count[s[start]]--;
23+
start++;
24+
}
25+
26+
// ํ˜„์žฌ ์œˆ๋„์šฐ ๊ธธ์ด๋กœ ์ตœ๋Œ€ ๊ธธ์ด ๊ฐฑ์‹ 
27+
maxLength = Math.max(maxLength, end - start + 1);
28+
}
29+
30+
return maxLength;
31+
};

โ€Žreverse-bits/byol-han.jsโ€Ž

Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,22 @@
1+
/**
2+
* https://leetcode.com/problems/reverse-bits/
3+
* @param {number} n - a positive integer
4+
* @return {number} - a positive integer
5+
*/
6+
var reverseBits = function (n) {
7+
let result = 0;
8+
9+
for (let i = 0; i < 32; i++) {
10+
// result๋ฅผ ์™ผ์ชฝ์œผ๋กœ 1์นธ ๋ฐ€๊ธฐ
11+
result <<= 1;
12+
13+
// n์˜ ๋งˆ์ง€๋ง‰ ๋น„ํŠธ๋ฅผ result์˜ ์˜ค๋ฅธ์ชฝ ๋์— ์ถ”๊ฐ€
14+
result |= n & 1;
15+
16+
// n์„ ์˜ค๋ฅธ์ชฝ์œผ๋กœ 1์นธ ๋ฐ€๊ธฐ
17+
n >>>= 1;
18+
}
19+
20+
// >>> 0์„ ํ•˜๋ฉด ๋ถ€ํ˜ธ ์—†๋Š” 32๋น„ํŠธ ์ •์ˆ˜๋กœ ๋ฐ˜ํ™˜๋จ
21+
return result >>> 0;
22+
};

โ€Žreverse-linked-list/byol-han.jsโ€Ž

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -34,4 +34,19 @@ var reverseList = function (head) {
3434
reverseList(head)์—์„œ head๋Š” ๋ฆฌ์ŠคํŠธ ์ „์ฒด์˜ ์ง„์ž…์ .
3535
head ํ•˜๋‚˜๋งŒ ์•Œ๊ณ  ์žˆ์–ด๋„, .next๋ฅผ ๋”ฐ๋ผ๊ฐ€๋ฉด์„œ ์ „์ฒด ๋…ธ๋“œ๋“ค์„ ์ˆœ์ฐจ์ ์œผ๋กœ ์ ‘๊ทผํ•  ์ˆ˜ ์žˆ๊ธฐ ๋•Œ๋ฌธ์— ๋ฆฌ์ŠคํŠธ ์ „์ฒด๋ฅผ ๋‹ค๋ฃฐ ์ˆ˜ ์žˆ์Œ
3636
37+
// ๋…ธ๋“œ ๊ตฌ์กฐ ์ •์˜
38+
function ListNode(val, next = null) {
39+
this.val = val;
40+
this.next = next;
41+
}
42+
43+
// ๋ฆฌ์ŠคํŠธ ๋งŒ๋“ค๊ธฐ
44+
const node3 = new ListNode(3); // ๋งˆ์ง€๋ง‰ ๋…ธ๋“œ
45+
const node2 = new ListNode(2, node3); // node2 โ†’ node3
46+
const head = new ListNode(1, node2); // head โ†’ node2 โ†’ node3
47+
48+
// ํ™•์ธ
49+
console.log(head.val); // 1
50+
console.log(head.next.val); // 2
51+
console.log(head.next.next.val); // 3
3752
*/

0 commit comments

Comments
ย (0)