문제 : 대문자로 바꾸기
https://school.programmers.co.kr/learn/courses/30/lessons/181877
프로그래머스
SW개발자를 위한 평가, 교육의 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프
programmers.co.kr
내코드 :
def solution(myString):
return myString.upper()
좋은코드 :
#파이썬 내장함수 없이
def solution(myString):
answer=[]
for char in myString:
if 'a' <= char <= 'z':
#ord(char) : 문자를 숫자로
#ord(char) -32 : 32만큼 이동
#chr(ord(char)-32) : 이동한 숫자를 문자로
answer.append(chr(ord(char)-32))
else:
answer.append(char)
return "".join(answer)
문제: 소문자로 바꾸기
https://school.programmers.co.kr/learn/courses/30/lessons/181876
프로그래머스
SW개발자를 위한 평가, 교육의 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프
programmers.co.kr
내 코드:
def solution(myString):
return myString.lower()
좋은 코드:
def solution(myString):
myString = myString.replace("A",'a')
myString =myString.replace("B",'b')
myString =myString.replace("C",'c')
myString =myString.replace("D",'d')
myString =myString.replace("E",'e')
myString =myString.replace("F",'f')
myString =myString.replace("G",'g')
myString =myString.replace("H",'h')
myString =myString.replace("I",'i')
myString =myString.replace("J",'j')
myString =myString.replace("K",'k')
myString =myString.replace("L",'l')
myString =myString.replace("M",'m')
myString =myString.replace("N",'n')
myString =myString.replace("O",'o')
myString =myString.replace("P",'p')
myString =myString.replace("Q",'q')
myString =myString.replace("R",'r')
myString =myString.replace("S",'s')
myString =myString.replace("T",'t')
myString =myString.replace("U",'u')
myString =myString.replace("V",'v')
myString =myString.replace("W",'w')
myString =myString.replace("X",'x')
myString =myString.replace("Y",'y')
myString =myString.replace("Z",'z')
return myString
def solution(myString):
answer = ''
answer = myString.lower()
return answer
문제: 배열에서 문자열 대소문자 변환하기
https://school.programmers.co.kr/learn/courses/30/lessons/181875
프로그래머스
SW개발자를 위한 평가, 교육의 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프
programmers.co.kr
내 코드:
🤖
이론적으로는: 이미 대문자인 것에 .upper()를 쓰면 함수 내부 검사가 중복되므로 미세한 시간 낭비가 맞습니다.
실전에서는: 그 낭비되는 시간이 상상 이상으로 극소량(몇 나노초 단위)이기 때문에, 코드를 깔끔하게 유지하기 위해 그냥 한 번에 변환 함수를 적용하는 것이 정석으로 통용됩니다.
def solution(strArr):
answer = []
for index, value in enumerate(strArr):
if index%2 == 0 :
#여기에 또 조건문으로 A<=value<=Z 라고 선언했다가
#aBc 같이 섞여있는 문장이 들어왔을 때 변환하지 못하는 경우가 발생했음
answer.append(value.lower())
if index%2 == 1 :
answer.append(value.upper())
return answer
좋은코드:
def solution(strArr):
return [s.lower() if i % 2 == 0 else s.upper() for i, s in enumerate(strArr)]
문제: A 강조하기
https://school.programmers.co.kr/learn/courses/30/lessons/181874
프로그래머스
SW개발자를 위한 평가, 교육의 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프
programmers.co.kr
내 코드:
string은 append가 아니고 +=이다
def solution(myString):
answer = ''
for i in range(len(myString)):
if myString[i] == 'a' or myString[i] == 'A':
answer += (myString[i].upper())
else:
answer += (myString[i].lower())
return answer
좋은 코드:
#전부 소문자로 바꾸고, a는 A로 변환
def solution(myString):
return myString.lower().replace('a', 'A')
def solution(myString):
return ''.join([i.lower() if i !='a' and i != 'A' else i.upper() for i in myString])
문제 : 특정한 문자를 대문자로 바꾸기
https://school.programmers.co.kr/learn/courses/30/lessons/181873
프로그래머스
SW개발자를 위한 평가, 교육의 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프
programmers.co.kr
내 코드:
#1) alp.lower()로 했더니 alp가 소문자가 되어버림
def solution(my_string, alp):
answer = ''
for i in range(len(my_string)):
if my_string[i].lower() == alp.lower():
answer += alp
else:
answer += my_string[i]
return answer
#2) 자세히보면, 전달받은 알파벳은 대문자가 아니라 소문자고, 그냥 해당 알파벳 확인용이라
# answer에 그냥 alp를 넣으면 안됨
def solution(my_string, alp):
answer = ''
for i in range(len(my_string)):
if my_string[i].upper() == alp.upper():
answer += alp
else:
answer += my_string[i]
return answer
#3) 문제가 무조건 해당 문자를 대문자로 바꾸는거라 모두 대문자로 변환 후 확인하면 된다
def solution(my_string, alp):
answer = ''
for i in range(len(my_string)):
if my_string[i].upper() == alp.upper():
answer += alp.upper()
else:
answer += my_string[i]
return answer
좋은코드:
#replace를 쓰고 싶었는데 어떻게 써야할지 몰랐다
def solution(my_string, alp):
return my_string.replace(alp, alp.upper())'카테부 4기 판교 ai 실무 > 코테 공부' 카테고리의 다른 글
| 카테부 4기 판교 ai 실무프로그래머스 코딩 기초 트레이닝 Day18 (1) | 2026.06.11 |
|---|---|
| 카테부 4기 판교 ai 실무프로그래머스 코딩 기초 트레이닝 Day17 (0) | 2026.06.10 |
| 카테부 4기 판교 ai 실무프로그래머스 코딩 기초 트레이닝 Day15 (0) | 2026.06.08 |
| 프로그래머스 코딩 기초 트레이닝 Day14 (0) | 2026.06.07 |
| 프로그래머스 코딩 기초 트레이닝 Day13 (0) | 2026.06.06 |