"if 원소 not in 문자열"
이 구조로 필요한 문자열을 추출하거나 감지할 수 있다.
def solution(str_list, ex):
#모든 문자열 합치고 #ex제외
answer = ''.join(i for i in str_list if ex not in i)
return answer

# dictionary 사용해서 바꾸기
def solution(myString, pat):
answer = 0
#myString 바꾸고
dict = { 'A' : 'B',
'B' : 'A'}
myString_tran = myString.maketrans(dict)
myString = myString.translate(myString_tran)
# pat 있으면 1
if pat in myString:
answer =1
return answer
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(my_string, n):
answer = '' #my_string 앞의 n글자 = 슬라이싱
answer = ''.join(my_string[:n])
return answer


def solution(my_strings, parts):
answer = ''
for i in range(len(my_strings)):
n , m = parts[i][0], parts[i][1]
result = ''.join(my_strings[i][n:m+1])
answer += result
return answer

def solution(myString):
result = myString.strip('x').split('x')
result.sort()
return result
정답
if i 사용해서 빈문자열 제거 def solution(myString):
result = [i for i in myString.split('x') if i ]
result.sort()
return result
``def solution(myString, pat):
answer = 0
#pat 길이만큼 잘라서 같은지 확인해볼까
length = len(myString)-len(pat)+1
for i in range(length):
if myString[i:i+len(pat)] == pat:
answer += 1
return answer
astype으로 문자열로 감싸진 부호들을 형변환하여 문제를 풀 수는 없을까? 생각해보다 답이 없어서 우선 조건문으로 풀었다.
def solution(ineq, eq, n, m):
answer = 0
# 참이면 1, 거짓이면 0.
if eq == "=":
if ineq == ">":
answer = int(n>=m)
else: answer = int(n<=m)
else:
if ineq == ">":
answer = int(n>m)
else: answer = int(n<m)
return answer
<다른 정답코드>
def solution(ineq, eq, n, m):
return int(eval(str(n)+ineq+eq.replace('!', '')+str(m)))

지정된 인덱스를 거꾸로 뒤집기
< 오답 >
def solution(my_string, queries):
answer = ''
for i in queries :
answer += my_string[:i[0]] #re
answer += my_string[i[1]:i[0]-1:-1] #mr
answer += my_string[i[1]+1:] #gorpsam
return answer
<정답>
def solution(my_string, queries):
for s, e in queries:
my_string = my_string[:s] + my_string[s:e+1][::-1] + my_string[e+1:]
return my_string

<내 코드>
def solution(strArr):
answer = 0 # 길이가 같은 문자열 개수구하고 max값 찍기
result = []
counts = []
for i in strArr:
result.append(len(i))
set_result = set(result)
for j in set_result:
counts.append(result.count(j))
answer = max(counts)
return answer
<다른 사람 코드>
참고
def solution(strArr):
d = {}
for i in strArr:
d[len(i)] = d.get(len(i), 0) + 1
return max(d.values())
나는 set으로 답안을 만들었는데 이 코드는 애초에 dict(key,value) 를 썼당
strArr를 순회하면서 d[len(i)] < key, d.get(len(i),0) < value
중복되는 값이면 +1
dict사용은 늘 어렵다 딩딩딩

<내 코드>
def solution(myString, pat):
answer = ''
myString = myString[::-1]
pat = pat[::-1] # 거꾸로 만들어서 find하기
pat_index = myString.find(pat)
answer = myString[pat_index:]
answer = answer[::-1]
return answer
<다른 코드>
def solution(myString, pat):
end = myString.rfind(pat)
return myString[:end + len(pat)]

def solution(rny_string):
answer = ''
for i in rny_string:
answer = rny_string.replace('m','rn')
return answer

def solution(myStr):
answer = []
myStr=myStr.replace("a"," ")
myStr=myStr.replace("b"," ")
myStr=myStr.replace("c"," ")
a = myStr.split(" ")
for i in a:
if i:
answer.append(i)
if answer == [] :
answer = ["EMPTY"]
return answer