🧑💻 언어 및 제출 결과
- 사용 언어:
TypeScript
- 통과 여부: ✅🧠 풀이 설명
charCodeAt은 문자열의 각 문자를 유니 코드로 변환해주는데,
A = 65 ~ Z = 90까지 나오고 A ~ Z까지 1 ~ 26까지 나옵니다.
A가 1부터 시작되려면 64를 뺴줘야합니다
예시
A => 'A'.charCodeAt(0) = 65 - 64 = 1
B => 'B'.charCodeAt(0) = 66 - 64 = 2
...
Z => 'Z'.charCodeAt(0) = 90 - 64 = 26
그 뒤에 Math.pow(26, columnTitle.length - i - 1)을 곱해주면 됩니다.
예시
ABC = A×26² + B×26¹ + C×26⁰
= 1×676 + 2×26 + 3×1
= 676 + 52 + 3
= 731
function titleToNumber(columnTitle: string): number {
return [...columnTitle].reduce(
(acc, cur, i) => (cur.charCodeAt(0) - 64) * Math.pow(26, columnTitle.length - i - 1) + acc,
0
);
}
📊 시간/공간 복잡도
✅ 어떠한 근거로 시간/공간 복잡도가 이렇게 나왔는지 설명해주세요.
⚡️ 풀이의 속도와 메모리 등을 캡쳐해서 올려주세요.
- 시간 복잡도:
O(n)
- 스프레드 연산자 변환, 반복
- reduce
- 공간 복잡도:
O(n)
- 스프레드 연산자, reduce 변수
- 스프레드 연산자, reduce 변수
'코딩테스트 > LeetCode' 카테고리의 다른 글
[LeetCode] Pow(x, n) (0) | 2025.08.15 |
---|---|
[LeetCode] Longest Palindromic Substring (6) | 2025.08.15 |
[LeetCode] Longest Substring Without Repeating Characters (2) | 2025.08.14 |
[LeetCode] Group Anagrams (1) | 2025.08.14 |
[LeetCode] Valid Parentheses (5) | 2025.08.09 |