데이터 분석/코딩 테스트_Python

[코딩 테스트] Python - 입문 - Day7, Day8

초코레모네이드 2023. 7. 25. 16:55

 

프로그래머스 코딩테스트 입문
7일차: 문자열, 조건문, 수학, 반복문

1. 특정 문자 제거하기

def solution(my_string, letter):
    answer = my_string.replace(letter, '')
    return answer

 
2. 각도기

def solution(angle):
    if angle > 0 and angle < 90:
        answer = 1
    elif angle == 90:
        answer = 2
    elif angle >90 and angle < 180:
        answer = 3
    elif angle == 180:
        answer = 4
    return answer

 
3. 양꼬치

def solution(n, k):
    answer = (12000*n) + 2000*(k-(n//10))
    return answer

 
4. 짝수의 합

# 사용자 함수
def solution(n):
    answer = sum([x for x in range(n+1) if x%2==0])
    return answer

# lambda 함수
solution = lambda n: sum(x for x in range(n+1) if x%2==0)

 
 

프로그래머스 코딩테스트 입문
8일차: 배열, 구현, 수학

1. 배열 자르기

def solution(numbers, num1, num2):
    answer = numbers[num1:num2+1]
    return answer

 
2. 외계행성의 나이

# enumerate 함수 사용?
# age의 길이를 n으로 두고 n의 갯수에 따라 돌아가면서... 하 어렵다...
def solution(age):
    numbs = ['a', 'b', 'c', 'd', 'e', 'f', 'g','h', 'i', 'j']
    age2 = str(age)
    if age <10:
        answer = numbs[int(age2)]
    elif age < 100:
        answer = numbs[int(age2[0])]+ numbs[int(age2[1])]
    elif age < 1000:
        answer = numbs[int(age2[0])]+ numbs[int(age2[1])] + numbs[int(age2[2])]
    elif age == 1000:
        answer = 'baaa'
    return answer

 
3. 진료순서 정하기

# emergency를 내림차순 정렬한 후 수정된 배열에서 기존 배열의 원소의 인덱스 찾기?
def solution(emergency):
    emergency2 = emergency.copy()
    emergency2.sort(reverse=True)
    answer = [emergency2.index(x)+1 for x in emergency]
    return answer

 
4. 순서쌍의 개수

# 사용자 함수 간단하게
def solution(n):
     return len(list(filter(lambda x: n % (x+1) == 0, range(n))))

# 긴 반복문
def solution(n):
    answer = 0
    for i in range(1, int(n**(1/2))+1):
        if i*i == n:
            answer += 1
        elif n % i == 0:
            answer += 2
        else:
            continue
    return answer

 
 
 
 

728x90