프로그래머스 1LV (1)

2024. 1. 25. 19:25백준 및 프로그래머스/프로그래머스 LV 1

- 짝수와 홀수

def solution(num):
    answer = ''
    if num%2 == 1:
        answer+="Odd"
    else:
        answer+="Even"
    return answer

 

- 문자열을 정수로 바꾸기

def solution(s):
    answer = int(s)
    return answer

 

- 평균 구하기

def solution(arr):
    answer = sum(arr) / len(arr)
    return answer

 

-약수의 합

def solution(n):
    answer = 0
    for i in range(1,n+1):
        if n % i == 0:
            answer+=i
    return answer

 

 

- x만큼 간격이 있는 n개의 숫자

def solution(x, n):
    answer = []
    for i in range(1,n+1):
        answer.append(x*i)
    return answer

 

-나머지가 1이 되는 수 찾기

def solution(n):
    answer = 1
    while True:
        if n % answer == 1:
            break
        answer+=1
        
    return answer

 

-자릿수 더하기

def solution(n):
    answer = str(n)
    
    total = 0 
    for i in answer:
        total+=int(i)

    return total

 

-자연수 뒤집어 배열로 만들기

def solution(n):
    answer = []
    n = str(n)
    for i in n:
        answer.append(int(i))
    return answer[::-1]

 

-문자열 내 p와 y의 개수

def solution(s):
    p_count = 0 
    y_count = 0
    
    for i in s:
        if i=='p' or i=='P':
            p_count+=1
        elif i=='y' or i=='Y':
            y_count+=1
    if p_count == y_count:
        return True
    else:
        return False

 

-정수 제곱근 판별

def solution(n):
    answer = 1
    while True:
        if answer>n:
            return -1
            break
        elif answer* answer == n:
            return (answer+1) **2
            break
        answer+=1

(이 문제는 더 좋은 방법이 있을 거라 생각합니다.)

 

-정수 내림차순으로 배치하기

def solution(n):
    
    num = []
    n = str(n)
    
    for i in n:
        num.append(int(i))
    num.sort(reverse=True) 
    return int(''.join(map(str,num)))

 

-하샤드 수

def solution(x):
    answer = True
    x = str(x)
    total = []
    
    for i in x:
        total.append(int(i))
    num_val = sum(total)
    x = int(x)
    
    if x % num_val == 0:
        answer =True
    else:
        answer =False
    return answer

 

-두 정수 사이의 합

def solution(a, b):
    answer = 0
    if a<b:
        for i in range(a,b+1):
            answer+=i
    else:
        for i in range(b,a+1):
            answer+=i
            
    return answer

 

-음양 더하기

def solution(absolutes, signs):
    answer = 0
    for i in range(len(signs)):
        if signs[i] == False:
            absolutes[i] = -absolutes[i]
    
    return sum(absolutes)

 

-콜라츠 추축

def solution(n):
    answer = 0
    count = 0
    
    while True:
        if n == 1:
            break
        if n %2 == 0:
            n = n // 2
            count+=1
        elif n % 2 == 1:
            n = n * 3 + 1
            count+=1
            
        
    if count > 500:
        return - 1
    else:
        return count

'백준 및 프로그래머스 > 프로그래머스 LV 1' 카테고리의 다른 글

프로그래머스 LV 1  (0) 2024.01.28
프로그래머스 LV 1(5)  (0) 2024.01.26
프로그래머스 LV1(4)  (0) 2024.01.26
프로그래머스 LV1(3)  (2) 2024.01.26
프로그래머스 LV 1(2)  (0) 2024.01.25