Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | ||||
4 | 5 | 6 | 7 | 8 | 9 | 10 |
11 | 12 | 13 | 14 | 15 | 16 | 17 |
18 | 19 | 20 | 21 | 22 | 23 | 24 |
25 | 26 | 27 | 28 | 29 | 30 | 31 |
Tags
- 정처기필기
- 데이터리안
- 파이프(|)
- openssh
- stickiness
- 다중 암호화 키
- GIT
- MAU
- 하이퍼바이저
- ssh-keygen
- passphrase
- classic retention
- range retention
- RTO
- pem
- rolling retention
- 범위리텐션
- 패키지 관리자
- RPO
- 리텐션
- DAU
- dpkg
- 클래식리텐션
- 노션
- n2t
- Wau
- github
- N2TWinform
- 티스토리
- 롤링리텐션
Archives
- Today
- Total
TobeSteady
[Python String Methods] title과 capitalize함수 차이 본문
프로그래머스 level2 "JadenCase 문자열 만들기"문제를 풀면서 발견하게 된 차이점을 간략하게 적으려고 한다.
## try01. 실패
def solution(s):
answer = s.title()
return answer
'''
테스트 1
입력값 〉 "3people unFollowed me"
기댓값 〉 "3people Unfollowed Me"
실행 결과 〉 실행한 결괏값 "3People Unfollowed Me"이 기댓값 "3people Unfollowed Me"과 다릅니다.
# title() 함수는 조건*을 만족하지 못함.
# 조건* : 단, 첫 문자가 알파벳이 아닐 때에는 이어지는 알파벳은 소문자로 쓰면 됩니다.
'''
처음 파이썬 문자열 매서드의 title를 사용하여 문제를 해결하려고 했으나 실패하였다.
title매서드는 문자열의 가장 처음 나오는 문자를 찾아 대문자로 바꾸기에,
처음 문자가 숫자일때 해당 숫자인 문자를 pass하고 가장 처음 나오는 문자를 찾아내어 대문자로 바꾸기 때문이다.
따라서 위의 결과처럼 test case1에서 title매서드는 사용하는 경우 결괏값을 만족시키지 못했다.
하지만, title매서드와 달리 capitalize매서드를 사용하면 상황이 다르다.
## try03. 성공
'''
title 함수와 달리, 맨 앞에 나온 숫자도 문자 취급하여 성공함.
'''
def solution(s):
return ' '.join([word.capitalize() for word in s.split(" ")])
capitalize매서드는 title매서드와 달리, 숫자인 문자가 맨 앞에 있을때 그 문자를 숫자로 인식하지 않고 문자 그래로 인식하기 때문이다.
따라서 위의 코드를 사용하면 해당 문제를 해당 문제를 풀이할 수 있다.
[참고] slicing 사용 풀이 코드
## try02. 성공
'''
조건** :s는 길이 1 이상 200 이하인 문자열
'''
def solution(s):
s = s.split(" ")
for i in range(len(s)):
s[i] = s[i][:1].upper() + s[i][1:].lower()
return ' '.join(s)
'Languages > Python' 카테고리의 다른 글
[Python] 외장함수 (0) | 2023.03.22 |
---|---|
[Python] 내장함수 (0) | 2023.03.22 |
time (1) | 2022.12.30 |
Bitwise Operators (0) | 2022.12.30 |
python 진법 변환 (1) | 2022.12.30 |