[Python] 코딩 기초 트레이닝1~30

NAYOUNG KIM·2023년 10월 5일
0

코딩테스트

목록 보기
2/13
post-thumbnail
# 1.배열의 길이에 따라 다른 연산하기
def solution(arr, n):
    answer = []
    len_arr = len(arr)
    
    if len_arr % 2 == 0:
        for idx, value in enumerate(arr):
            if idx % 2 == 1:
                value += n
            answer.append(value)
    else:
        for idx, value in enumerate(arr):
            if idx % 2 == 0:
                value += n
            answer.append(value)
    return answer

# 2.소문자로 바꾸기
def solution(myString):
    answer = myString.lower()
    return answer

# 3.n의 배수
def solution(num, n):
    if num % n == 0:
        answer = 1
    else:
        answer = 0
    return answer

# 4.대문자로 바꾸기
def solution(myString):
    answer = myString.upper()
    return answer
    
# 5.문자열 붙여서 출력하기
str1, str2 = input().strip().split(' ')
print(str1+str2)

# 6.n 번째 원소까지
def solution(num_list, n):
    answer = []
    for idx, value in enumerate(num_list): 
        if idx == n:
            break
        answer.append(value)
    return answer

# 7.공배수
def solution(number, n, m):
    if (number % n == 0) and (number % m == 0):
        answer = 1
    else:
        answer = 0
    return answer
    
# 8.n보다 커질 때까지 더하기
def solution(numbers, n):
    answer = 0
    for num in numbers:
        answer += num
        if answer > n:
            return answer

# 9.정수 부분
def solution(flo):
    answer = int(flo)
    return answer

# 10.문자열을 정수로 변환하기
def solution(n_str):
    answer = int(n_str)
    return answer

# 11.원소들의 곱과 합
def solution(num_list):
    hap = 0
    gop = 1
    
    for num in num_list:
        hap += num
        gop *= num
    
    answer = 1 if gop < hap*hap else 0
        
    return answer

# 12.길이에 따른 연산
def solution(num_list):
    hap = 0
    gop = 1
    if len(num_list) >= 11:
        for num in num_list:
            hap += num
        return hap
    else:
        for num in num_list:
            gop *= num
        return gop
        
# 13.정수 찾기
def solution(num_list, n):
    answer = 1 if n in num_list else 0
    return answer
    
# 14.문자열의 앞의 n글자
def solution(my_string, n):
    answer = my_string[:n]
    return answer

# 15.문자열의 뒤의 n글자
def solution(my_string, n):
    answer = my_string[-n:]
    return answer
    
# 16.조건에 맞게 수열 변환하기 3
def solution(arr, k):
    answer = []
    if k % 2 == 1:
        for num in arr:
            answer.append(num*k)
    else:
        for num in arr:
            answer.append(num+k)
    return answer
    
# 17.조건에 맞게 수열 변환하기 1
def solution(arr):
    answer = []
    for num in arr:
        if (num >= 50) and (num%2==0):
            answer.append(num / 2)
        elif (num < 50) and (num%2==1):
            answer.append(num * 2)
        else:
            answer.append(num)
    return answer

# 18.n개 간격의 원소들
def solution(num_list, n):
    answer = [num_list[i] for i in range(0, len(num_list), n)]
    return answer

# 19.문자열로 변환
def solution(n):
    answer = str(n)
    return answer
    
# 20.글자 이어 붙여 문자열 만들기
def solution(my_string, index_list):
    answer = ''
    for idx in index_list:
        answer += my_string[idx]
    return answer
    
# 21.flag에 따라 다른 값 반환하기
def solution(a, b, flag):
    answer = a + b if flag == True else a - b
    return answer
    
# 22.배열 만들기 1
def solution(n, k):
    answer = []
    for i in range(1, n+1):
        if i % k == 0:
            answer.append(i)
    return answer

# 23.특정한 문자를 대문자로 바꾸기
def solution(my_string, alp):
    answer = ''
    for idx in range(len(my_string)):
        if my_string[idx] == alp:
            answer += my_string[idx].upper()
        else:
            answer += my_string[idx]
    return answer

# 24.부분 문자열
def solution(str1, str2):
    answer = 1 if str1 in str2 else 0
    return answer

#25.주사위 게임 1
def solution(a, b):
    if (a%2==1) and (b%2==1):
        answer = a**2 + b**2
    elif (a%2==0) and (b%2==0):
        answer = abs(a-b)
    else:
        answer = 2 * (a+b)
    return answer

# 26.더 크게 합치기
def solution(a, b):
    tmp_1 = int(str(a) + str(b))
    tmp_2 = int(str(b) + str(a))
    if tmp_1 > tmp_2:
        answer = tmp_1
    elif tmp_1 < tmp_2:
        answer = tmp_2
    else:
        answer = tmp_1
    return answer
    
# 27.부분 문자열인지 확인하기
def solution(my_string, target):
    answer = 1 if target in my_string else 0
    return answer

# 28.카운트 다운
def solution(start, end_num):
    answer = [num for num in range(start, end_num-1, -1)]
    return answer
    
# 29.접두사인지 확인하기
def solution(my_string, is_prefix):
    s_len = len(is_prefix)
    answer = 1 if my_string[:s_len] == is_prefix else 0
    return answer

# 30.이어 붙인 수
def solution(num_list):
    hol = ''
    jjak = ''
    
    for num in num_list:
        if num%2 == 1:
            hol += str(num)
        else:
            jjak += str(num)
    answer = int(hol) + int(jjak)
    return answer
profile
21세기 주인공

0개의 댓글