[파이썬] 프로그래머스 Lv0. 대문자로 바꾸기, 소문자로 바꾸기, 배열에서 문자열 대소문자 변환하기, A강조하기, 특정한 문자를 대문자로 바꾸기
안녕하세요 머킹입니다.
주말에 좋은 카페 와서 코딩테스트 하니까 너무 좋네요.
대문자로 바꾸기
문제 설명
알파벳으로 이루어진 문자열 myString이 주어집니다. 모든 알파벳을 대문자로 변환하여 return 하는 solution 함수를 완성해 주세요.
def solution(myString):
answer = myString.upper()
return answer
엄청 쉬운 문제였습니다.
그래서 그럴까요 1점 받았어요.
문득 프로그래머스 점수 기준은 뭘까? 궁금해지네요.
소문자로 바꾸기
문제 설명
알파벳으로 이루어진 문자열 myString이 주어집니다. 모든 알파벳을 소문자로 변환하여 return 하는 solution 함수를 완성해 주세요.
def solution(myString):
return myString.lower()
소문자는 더 간단하게 풀었어요 ㅎㅎ
배열에서 문자열 대소문자 변환하기
문제 설명
문자열 배열 strArr가 주어집니다. 모든 원소가 알파벳으로만 이루어져 있을 때, 배열에서 홀수번째 인덱스의 문자열은 모든 문자를 대문자로, 짝수번째 인덱스의 문자열은 모든 문자를 소문자로 바꿔서 반환하는 solution 함수를 완성해 주세요.
def solution(strArr):
answer = []
for i in range(len(strArr)):
if i % 2 == 0:
answer.append(strArr[i].lower())
else:
answer.append(strArr[i].upper())
return answer
def solution(strArr):
return [s.lower() if i % 2 == 0 else s.upper() for i, s in enumerate(strArr)]
enumerate를 잘 쓰는 법도 알고 싶네요.
A 강조하기
문제 설명
문자열 myString이 주어집니다. myString에서 알파벳 "a"가 등장하면 전부 "A"로 변환하고, "A"가 아닌 모든 대문자 알파벳은 소문자 알파벳으로 변환하여 return 하는 solution 함수를 완성하세요.
enuerate로 해보고 싶었는데 코드가 기니까
뭔가 복잡해져서 단순하게 써봤습니다.
def solution(myString):
answer = ''
for char in myString:
if char == 'a':
answer += 'A'
elif char == 'A':
answer += 'a'
else:
answer += char.lower()
return answer
결과에서 왜인지 테스트 하나를 틀렸습니다.
아무래도 대소문자의 문제가 있는 것 같습니다..
이 코드에서는 if char == 'a':와 elif char == 'A':와 같이 문자를 직접 비교하려고 했으나, 수정된 코드에서는 if char.lower() == 'a':와 elif char.lower() == 'a':와 같이 문자를 비교하기 전에 소문자로 변환하여 비교합니다.
이렇게 하면 문자의 대소문자를 무시하고 "a"를 찾을 수 있습니다.라고 합니다.
def solution(myString):
answer = ''
for char in myString:
if char.lower() == 'a':
answer += 'A'
else:
answer += char.lower()
return answer
def solution(myString):
return myString.lower().replace('a', 'A')
와 다른 사람의 풀이를 보고 이마를 탁 쳤어요.
와.. replace를 여기에서 쓰는 거구나..
특정한 문자를 대문자로 바꾸기
문제 설명
영소문자로 이루어진 문자열 my_string과 영소문자 1글자로 이루어진 문자열 alp가 매개변수로 주어질 때, my_string에서 alp에 해당하는 모든 글자를 대문자로 바꾼 문자열을 return 하는 solution 함수를 작성해 주세요.
한번 잘못 풀어서 보니 else를 안 썼습니다..ㅎㅎ
def solution(my_string, alp):
answer = ''
for char in my_string:
if char == alp:
answer += char.upper()
else:
answer += char
return answer
def solution(my_string, alp):
return my_string.replace(alp, alp.upper())
여기에도 replace 쓸 수 있네요... 함 써볼걸!
'오늘부터 코딩테스트' 카테고리의 다른 글
[오늘부터 코딩테스트]파이썬으로 프로그래머스 코딩 기초 프로그램 풀기 (0) | 2023.10.26 |
---|---|
[오늘부터 코딩테스트]파이썬으로 프로그래머스 코딩 기초 프로그램 풀기 (0) | 2023.10.25 |
[오늘부터 코딩테스트]파이썬으로 프로그래머스 코딩 기초 프로그램 풀기 (0) | 2023.10.20 |
[오늘부터 코딩테스트]파이썬으로 프로그래머스 코딩 기초 프로그램 풀기 (1) | 2023.10.19 |
[오늘부터 코딩테스트]파이썬으로 프로그래머스 코딩 기초 프로그램 풀기 (0) | 2023.10.12 |