📌 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 (0) | 2024.12.05 |
LeetCode [2037]: Minimum Number of Moves to Seat Everyone (0) | 2024.12.04 |
LeetCode [1200]: Minimum Absolute Difference (0) | 2024.12.04 |
LeetCode [2418]: Sort the People (0) | 2024.12.04 |