📌 LeetCode [3110]: Score of a String
🔗 문제 링크
문제 설명 📄

문자열 s가 주어집니다. 문자열의 점수를 계산하는 규칙은 다음과 같습니다:
- 인접한 두 문자 간의 ASCII 코드 값의 차이를 구합니다.
- 차이의 절대값을 구해 합산합니다.
- 문자열
s의 점수를 반환하세요.
문제 접근 방식 📋
- 문자열 탐색:
- 문자열
s를 한 글자씩 순회하며 인접한 두 문자 간의 ASCII 차이를 계산합니다.
- 문자열
- 절대값 계산:
abs함수를 사용해 차이의 절대값을 구하고 누적합에 더합니다.
- 결과 반환:
- 계산된 누적합을 최종 점수로 반환합니다.
Solution 💻
class Solution:
def scoreOfString(self, s: str) -> int:
answer = 0
for i in range(len(s) - 1):
answer += abs(ord(s[i]) - ord(s[i + 1]))
return answer
시간 복잡도 ⏲️
- 문자열 탐색: (O(n)), (n)은 문자열의 길이.
- 절대값 및 ASCII 연산: (O(1)) (상수 시간).
- 총 시간 복잡도: (O(n)).
공간 복잡도 🗄️
- 추가 공간 사용 없음: (O(1)).
- 총 공간 복잡도: (O(1)).
'알고리즘 > 리트코드' 카테고리의 다른 글
| LeetCode [1752]: Check if Array Is Sorted and Rotated (0) | 2024.12.05 |
|---|---|
| LeetCode [884]: Uncommon Words from Two Sentences (1) | 2024.12.05 |
| LeetCode [2037]: Minimum Number of Moves to Seat Everyone (2) | 2024.12.04 |
| LeetCode [1200]: Minimum Absolute Difference (0) | 2024.12.04 |
| LeetCode [2418]: Sort the People (0) | 2024.12.04 |