문제 : 특정 문자열로 끝나는 가장 긴 부분 문자열 찾기
https://school.programmers.co.kr/learn/courses/30/lessons/181872
프로그래머스
SW개발자를 위한 평가, 교육의 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프
programmers.co.kr
내 코드:
def solution(myString, pat):
answer = ''
index = 0
for i in range(len(myString)):
if pat[-1] == myString[i]:
index = i
answer = myString[:index+1]
return answer
좋은 코드:
solution=lambda x,y:x[:x.rindex(y)+len(y)]
def solution(myString, pat):
return myString[:len(myString) - myString[::-1].index(pat[::-1])]
🤖 rindex() 는 파이썬 문자열(String)에서
특정 문자열이 마지막으로 등장하는 위치(인덱스)를 오른쪽에서부터 찾아주는 함수입니다.
text = "banana" print(text.index("a")) # 1 (가장 처음 나온 'a'의 위치) print(text.rindex("a")) # 5 (가장 마지막에 나온 'a'의 위치)
문제 : 문자열이 몇 번 등장하는지 세기
https://school.programmers.co.kr/learn/courses/30/lessons/181871
프로그래머스
SW개발자를 위한 평가, 교육의 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프
programmers.co.kr
내 코드:
- 반복문을 몇 번을 돌아야할지 몰랐다 : 처음에는 for i in range(int(len(myString)/len(pat))+2): 로 했는데
테스트는 잘 되었지만 채점에서 틀렸다
def solution(myString, pat):
answer = 0
for i in range(len(myString)-len(pat)+1):
if myString[i:i+len(pat)] == pat:
answer += 1
return answer
좋은 코드:
def solution(myString, pat):
answer = 0
for i, x in enumerate(myString) :
if myString[i:].startswith(pat) :
answer += 1
return answer
def solution(myString, pat):
return sum(myString[i:i + len(pat)] == pat for i in range(len(myString)))
def solution(myString, pat):
answer=0
for i in range(len(myString)):
if myString[i:i+len(pat)]==pat:answer+=1
return answer
문제 : ad 제거하기
https://school.programmers.co.kr/learn/courses/30/lessons/181870
프로그래머스
SW개발자를 위한 평가, 교육의 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프
programmers.co.kr
내코드 :
- 🤖 문자열에서 특정 문자열 찾기 : in 사용 or find 사용
def solution(strArr):
answer = []
for i in strArr:
if 'ad' not in i:
answer.append(i)
return answer
좋은 코드:
def solution(strArr):
return [word for word in strArr if 'ad' not in word]
def solution(strArr):
answer = []
for x in strArr:
if 'ad' in x: continue
answer.append(x)
return answer
def solution(strArr):
for str in strArr[:]:
if 'ad' in str:
strArr.remove(str)
return strArr
문제: 공백으로 구분하기1
https://school.programmers.co.kr/learn/courses/30/lessons/181869
프로그래머스
SW개발자를 위한 평가, 교육의 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프
programmers.co.kr
내코드:
🤖 문장끝 띄어쓰기가 없는 단어는 그냥 추가하기 : my_string[b:] 이용
def solution(my_string):
answer = []
a,b = 0,0
for i in range(len(my_string)):
if my_string[i] == ' ':
a = i
answer.append(my_string[b:a])
b = a+1
answer.append(my_string[b:])
return answer
좋은 코드:
def solution(my_string):
return my_string.split(' ')
def solution(my_string):
answer=[]
string=""
for j in range(len(my_string)):
if my_string[j]!=' ':
string=string+my_string[j]
if j==len(my_string)-1 or my_string[j]==' ':
answer.append(string)
string=""
return answer
문제: 공백으로 구분하기2
https://school.programmers.co.kr/learn/courses/30/lessons/181868
프로그래머스
SW개발자를 위한 평가, 교육의 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프
programmers.co.kr
내 코드:
def solution(my_string):
answer = []
for i in my_string.split(' '):
if len(i) >= 1:
answer.append(i)
return answer
좋은코드:
def solution(my_string):
answer = my_string.split(' ') 으로 했더니 출력이 "", "", "i" 이런식으로 나왔어. 왜그래?
🤖 split(' ')은 공백 '하나'를 만날 때마다 무조건 칼질을 합니다.
def solution(my_string):
answer = my_string.split()
return answer
solution=lambda x:x.split()
def solution(my_string):
return [i for i in my_string.split(" ") if i != ""]
def solution(my_string):
my_string = my_string.strip()
words = my_string.split()
return words'카테부 4기 판교 ai 실무 > 코테 공부' 카테고리의 다른 글
| 카테부 4기 판교 ai 실무프로그래머스 코딩 기초 트레이닝 Day19 (0) | 2026.06.12 |
|---|---|
| 카테부 4기 판교 ai 실무프로그래머스 코딩 기초 트레이닝 Day18 (1) | 2026.06.11 |
| 카테부 4기 판교 ai 실무프로그래머스 코딩 기초 트레이닝 Day16 (0) | 2026.06.09 |
| 카테부 4기 판교 ai 실무프로그래머스 코딩 기초 트레이닝 Day15 (0) | 2026.06.08 |
| 프로그래머스 코딩 기초 트레이닝 Day14 (0) | 2026.06.07 |