https://school.programmers.co.kr/learn/courses/30/lessons/12940

 

프로그래머스

코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.

programmers.co.kr

 

최대 공약수와 최소 공배수를 구하는 문제입니다.

GCD를 이용해서 최대 공약수는 쉽고 빠르게 구할 수 있습니다.

 

최대 공약수를 구했다면, 최소 공배수는 N * M을 최대 공약수로 나눈 값입니다.

 

예를 들어 N과 M이 24, 36이라면

 

GCD(24, 36)

GCD(36, 24)

GCD(24, 12)

GCD(12, 0) -> 최대 공약수가 12

 

N * M = 864이고 864를 12로 나누면 최소 공배수인 72가 됩니다.

 

def solution(n, m):
    md = gcd(n, m)

    answer = [md, n * m / md]
    return answer


def gcd(a, b):
    if b == 0:
        return a
    return gcd(b, a % b)
728x90

https://school.programmers.co.kr/learn/courses/30/lessons/12969

 

프로그래머스

코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.

programmers.co.kr

 

백준 사이트 스타일의 입력이 주어지는 문제입니다.

Python의 print에 기본적으로 줄바꿈 \n이 포함된걸 유의해서 2중 for문으로 출력을 찍어주면 됩니다.

 

a, b = map(int, input().strip().split(' '))

for i in range(b):
    line = ''
    for j in range(a):
        line += '*'
    print(line)
728x90

https://school.programmers.co.kr/learn/courses/30/lessons/82612

 

프로그래머스

코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.

programmers.co.kr

 

간단한 수학 문제입니다.

1에서 N까지를 더하면 그 합은 N (N + 1) / 2가 됩니다. 이를 이용해 전체 요금을 계산하고, 가지고 있는 금액에서 빼 음ㅇ수라면 -1을 곱해준 값을, 0 또는 양의 정수라면 0을 return 하면 됩니다.

 

def solution(price, money, count):
    
    gap = money - ((count * (count + 1)) // 2 ) * price

    return -gap if gap < 0 else 0

 

728x90

https://school.programmers.co.kr/learn/courses/30/lessons/12950

 

프로그래머스

코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.

programmers.co.kr

 

행렬의 덧셈을 하는 문제입니다. 

 

def solution(arr1, arr2):
    for i in range(len(arr1)):
        for j in range(len(arr1[0])):
            arr1[i][j] += arr2[i][j]
    return arr1
728x90

https://school.programmers.co.kr/learn/courses/30/lessons/12918

 

프로그래머스

코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.

programmers.co.kr

 

쉬운 구현 문제입니다. 주어진 조건에 맞추어 True와 False를 적절히 return하면 됩니다.

 

def solution(s):
    if len(s) != 4 and len(s) != 6:
        return False
    
    for i in s:
        try: 
            int(i)
        except :
            return False
        
    return True

 

728x90

 

https://school.programmers.co.kr/learn/courses/30/lessons/12917

 

프로그래머스

코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.

programmers.co.kr

Python의 경우엔 내부에 구현된 sort, join등의 메소드를 이용해 쉽게 구현이 가능합니다.

 

def solution(s):
    answer = list(s)
    answer.sort(reverse=True)

    return ''.join(answer)
728x90

https://school.programmers.co.kr/learn/courses/30/lessons/12903

 

프로그래머스

코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.

programmers.co.kr

 

단어의 길이가 짝수 / 홀수인 경우에 어떤 글자를 반환할지 잘 생각해보면 쉽게 풀 수 있습니다.

 

def solution(s):
    c = len(s) // 2
    
    if len(s) % 2 == 0:
        return s[c - 1: c + 1]
    else :
        return s[c]
728x90

https://school.programmers.co.kr/learn/courses/30/lessons/12922

 

프로그래머스

코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.

programmers.co.kr

 

def solution(n):
    answer = '수박' * (n // 2)
    if n % 2 == 1:
        answer += '수'
    return answer
728x90

+ Recent posts