문제를 풀며 배운 라이브러리
문자열.upper()
- 해당 문자열을 대문자로 변환한다.
s = "hello" print(s.upper()) # 출력 = HELLO
문자열.lower()
- 해당 문자열을 소문자로 변환한다.
s = "HELLO" pirnt(s.lower()) # 출력 = hello
나의 풀이 방법
- 우선 새로 배운 문자열 내장 함수를 익히며 실험했다.
실험결과, 문자열에 특수문자,숫자,한글이 들어간다 할지라도 문제없이 작동된다.
s="안녕하세요. @#$@#$. hello! lower()!"
print(s.lower())
출력 결과
- 완성 코드에 오답을 몇번 겪었는데,
항상 첫번째 문자열이 알파벳이면 대문자로 변환하고,
나머지 알파벳은 소문자로 변경해야 한다.입출력 예제 1번
문자열 중간 f의 출력 결과물은 소문자인것을 확인할 수 있다.
def solution(s):
arr = s.split(' ')
result =""
for i in range(len(arr)):
temp = [j for j in arr[i]]
for j in range(len(temp)):
result += temp[j].upper() if j==0 else temp[j].lower()
result += " " if i != len(arr)-1 else ""
return result
def solution(s):
arr = s.split(' ')
#띄어 쓰기를 기준으로 쪼개서, 리스트에 담고
result =""
for i in range(len(arr)):
temp = [j for j in arr[i]]
#쪼갠 문자열 '3people'를 또 쪼개서 '3','p'... 하나씩 또 쪼개서
for j in range(len(temp)):
result += temp[j].upper() if j==0 else temp[j].lower()
# 결괏값에 담는데, 첫번째 문자열은 대문자, 나머지 문자열은 소문자로 만든다.
result += " " if i != len(arr)-1 else ""
#검증을 통해, 만들어진 문자열 '대문자, 여러 소문자'뒤에 이어질
#공백(띄어쓰기)를 추가하고, 마지막 값에는 추가하지 않는다.
return result
def solution(s):
answer =[]
for i in range(len(s.split())):
answer.append(s.split()[i][0].upper() + s.split()[i].lower()[1:])
return " ".join(answer)
입력 : "hello world! 33"
for i in range(len(s.split())):
위 코드는 split으로 쪼갠 값을 len 함수에 담고있으며, 값은 3이된다
따라서 반복자 i의 값은 0,1,2로 반복된다.
s.split()[i][0].upper()
위 코드는 쪼갠 문자열의 i번째, 만약 i가 0이라 한다면 "hello"를 검사하게 된다.
"hello"의 0번째 index 'h'를 upper()함수를 애용해 대문자로 추출한다.
s.split()[i].lower()[1:]
그외 나머지 문자열을 슬라이스를 이용해 소문자로 변경하고
s.split()[i][0].upper() + s.split()[i].lower()[1:]
두 값을 합친다면, "Hello" 가 된다.