본문 바로가기

파이썬

코테 연습 20230817

#1 접미사인지 확인하기

 

내 답

def solution(my_string, is_suffix):
    num = len(is_suffix)
    num2 = (len(my_string)-len(is_suffix))
    
    str = ''
    if len(my_string) < len(is_suffix):
        return 0
    else :
        for x in range(num2, len(my_string), 1):
            str += my_string[x]
            
        if str == is_suffix :
            return 1 
        else: return 0

 

기준문자열.endswith(접미사문자열)

def solution(my_string, is_suffix):
    return int(my_string.endswith(is_suffix))

 

#2. 배열에서 문자열 대소문자 변환하기

def solution(strArr):
    print(strArr)
    list =[]
    for x in range(len(strArr)):
        if x % 2 == 0 :
            list.append(strArr[x].lower())
        else :
            list.append(strArr[x].upper())
    return list

 

#3. 접두사인지 확인하기

def solution(my_string, is_prefix):
    num = len(is_prefix)

    str = ''
    if len(my_string) < len(is_prefix):
        return 0
    else :
        for x in range(0, num, 1):
            str += my_string[x]
            
        if str == is_prefix :
            return 1 
        else: return 0

 

1번 문제를 풀고 startwith() 함수가 있지 않을까 생각했는지 있다.

기준문자열.startswith(접두사문자열)

def solution(my_string, is_prefix):
    return int(my_string.startswith(is_prefix))

 

#4. 꼬리 문자열

def solution(str_list, ex):
    answer = ''
    
    for x in range(len(str_list)):
        if ex not in str_list[x] :
            answer += str_list[x]
    return answer

 

문자열에 특정 문자를 포함하는지 확인 하려면 if 포함문자열 in/ not in 문자열 : 함수를 이용하면 된다.

 

다른 사람 답안

def solution(str_list, ex):
    filtered_list = [s for s in str_list if ex not in s]
    return "".join(filtered_list)

만든 리스트 안에 조건식을 넣고 문자열로 리턴하기 위해 join함수를 사용했다.

 

 

#5. 배열의 원소만큼 추가하기

def solution(arr):
    answer = []
    for x in arr:
        for y in range(x):
            answer.append(x)
    return answer

 

 다른 사람 답

def solution(arr):
    return [i for i in arr for j in range(i)]

한 줄로 쓰는 이중 반복문!!