This post is part of the Algorithms Problem Solving series.
Problem description
This is the To Lower Case problem. The description looks like this:
Implement function ToLowerCase() that has a string parameter str,
and returns the same string in lowercase.
Examples
Example 1:
Input: "Hello"
Output: "hello"
Example 2:
Input: "here"
Output: "here"
Example 3:
Input: "LOVELY"
Output: "lovely"
Solution
My solution to this problem was to iterate through the entire string, and for each character, I append its lower case version. To verify if it needs to transform the character to lower case, I simply get the integer representation of the Unicode character by using the ord
function. If it is between 65 and 90, both inclusive, the character is capitalized, so I need to transform it to lower case.
To transform to lower case, I just need to:
- Transform to the Unicode integer
- Sum 32
- Transform back to the character representation of the Unicode
After the process of each character, I have my list of lower case characters. Then, I just need to join all the characters to get my final string back.
def lower_case_char(char):
if ord(char) >= 65 and ord(char) <= 90:
return chr(ord(char) + 32)
return char
def lower_case(str):
list_of_chars = []
for char in str:
list_of_chars.append(lower_case_char(char))
return ''.join(list_of_chars)
Resources
- Learning Python: From Zero to Hero
- Algorithms Problem Solving Series
- Stack Data Structure
- Queue Data Structure
- Linked List
- Tree Data Structure
- Learn Object-Oriented Programming in Python
- Data Structures in Python: An Interview Refresher
- Data Structures and Algorithms in Python
- Data Structures for Coding Interviews in Python
- One Month Python Course
- Big-O Notation For Coding Interviews and Beyond
- Learn Python from Scratch
- Learn Object-Oriented Programming in Python
- Data Structures in Python: An Interview Refresher
- Data Structures and Algorithms in Python
- Data Structures for Coding Interviews in Python
- One Month Python Course
Top comments (0)