본문 바로가기
데이터 분석/코딩 테스트_Python

[코딩 테스트] Python - 입문 - Day11, Day12

by 초코레모네이드 2023. 8. 4.

 

프로그래머스 코딩테스트 입문
11일차: 수학, 반복문

1. 주사위의 개수

def solution(box, n):
    answer  = (box[0]//n)*(box[1]//n)*(box[2]//n)
    return answer

 
2. 합성수 찾기

def solution(n):
    num = []
    count = 0
    for i in range(2,n+1):
        for j in range(1,i+1):
            if i % j == 0 :
                num.append(i)
        if num.count(i) >=3:
            count += 1
    return count

 
3. 최댓값 만들기(1)

def solution(numbers):
    numbers.sort(reverse=True)
    answer = numbers[0]*numbers[1]
    return answer

 
4. 팩토리얼

def solution(n):
    answer = 1
    factorial = 1
    while factorial <= n :
        answer += 1
        factorial = factorial * answer
    answer = answer-1
    
    return answer

 

프로그래머스 코딩테스트 입문
12일차: 문자열, 정렬, 사칙연산, 수학

1. 모음 제거

def solution(my_string):
    # moeum = ['a', 'e', 'i', 'o', 'u']
    # a = [x for x in my_string if x not in moeum]
    # answer = ''.join(a)
    answer = ''.join([x for x in my_string if x not in ['a', 'e', 'i', 'o', 'u']])
    return answer

 
2. 문자열 정렬하기(1)

def solution(my_string):
    numbers = ['0', '1', '2', '3', '4', '5', '6', '7', '8', '9']
    answer = []
    for i in range(len(my_string)):
        if my_string[i] in numbers:
            answer.append(int(my_string[i]))
    answer.sort()
    return answer

 
3. 숨어있는 숫자의 덧셈(1)

def solution(my_string):
    return sum(sorted([int(x) for x in my_string if x.isdigit()]))

 
4. 소인수분해

# 2로 나눈 값이 0일 때의 몫, 3으로 나눈 값이 0일 때의 몫
def solution(n):
    answer = []
    d = 2
    while d <= n:
        if n % d == 0:
            answer.append(d)
            n = n // d
        else:
            d += 1
    answer = list(set(answer))
    return sorted(answer)

 
 

728x90

댓글