문제 설명


정수 num이 짝수일 경우 Even을 반환하고 홀수인 경우 Odd를 반환하는 함수, solution을 완성해주세요.

제한조건

 

  • num은 int 범위의 정수입니다.
  • 0은 짝수입니다.

 

입출력 예

 

num return
3 Odd
4 Even

 

나의 풀이

 

def solution(num):
    if num % 2 == 0:
        return 'Even'
    else:
        return 'Odd'

1. num이 짝수이면 Even을, 홀수이면 Odd를 리턴합니다.


프로그래머스 '짝수와 홀수' : https://programmers.co.kr/learn/courses/30/lessons/12937

 

코딩테스트 연습 - 짝수와 홀수

정수 num이 짝수일 경우 Even을 반환하고 홀수인 경우 Odd를 반환하는 함수, solution을 완성해주세요. 제한 조건 num은 int 범위의 정수입니다. 0은 짝수입니다. 입출력 예 num return 3 Odd 4 Even

programmers.co.kr

 

문제 설명


정수를 저장한 배열, arr 에서 가장 작은 수를 제거한 배열을 리턴하는 함수, solution을 완성해주세요. 단, 리턴하려는 배열이 빈 배열인 경우엔 배열에 -1을 채워 리턴하세요. 예를들어 arr이 [4,3,2,1]인 경우는 [4,3,2]를 리턴 하고, [10]면 [-1]을 리턴 합니다.

제한조건

 

  • arr은 길이 1 이상인 배열입니다.
  • 인덱스 i, j에 대해 i ≠ j이면 arr[i] ≠ arr[j] 입니다.

 

입출력 예

 

arr return
[4,3,2,1] [4,3,2]
[10] [-1]

 

나의 풀이

 

def solution(arr):
    arr.remove(min(arr))
    if len(arr) == 0:
        arr.append(-1)
    return arr

1. 배열 arr에서 가장 작은 값을 삭제합니다.

2. 배열 arr의 길이가 0이면 -1을 배열 arr에 넣어줍니다.

3. 배열 arr을 리턴합니다.

 


프로그래머스 '제일 작은 수 제거하기' : https://programmers.co.kr/learn/courses/30/lessons/12935

 

코딩테스트 연습 - 제일 작은 수 제거하기

정수를 저장한 배열, arr 에서 가장 작은 수를 제거한 배열을 리턴하는 함수, solution을 완성해주세요. 단, 리턴하려는 배열이 빈 배열인 경우엔 배열에 -1을 채워 리턴하세요. 예를들어 arr이 [4,3,2,1

programmers.co.kr

 

문제 설명


임의의 양의 정수 n에 대해, n이 어떤 양의 정수 x의 제곱인지 아닌지 판단하려 합니다.
n이 양의 정수 x의 제곱이라면 x+1의 제곱을 리턴하고, n이 양의 정수 x의 제곱이 아니라면 -1을 리턴하는 함수를 완성하세요.

제한조건

 

  • n은 1이상, 50000000000000 이하인 양의 정수입니다.

 

입출력 예

 

n return
121 144
3 -1

 

입출력 예 설명


입출력 예#1
121은 양의 정수 11의 제곱이므로, (11+1)를 제곱한 144를 리턴합니다.

입출력 예#2
3은 양의 정수의 제곱이 아니므로, -1을 리턴합니다.

 

나의 풀이

 

def solution(n):
    answer = -1
    for i in range(1,n+1):
        if n // i == i and n % i == 0:
            answer= (i+1)**2
            break
    return answer

1. answer를 -1로 설정합니다. (제곱이 아닐 경우를 위해)
2. 1부터 n까지에서 n이 어떤 i의 제곱인지 확인해서 i의 제곱이면 answer를 i+1의 제곱으로 바꿉니다.
3. answer를 리턴합니다.

다른 사람의 풀이

 

def solution(n):
    sqrt = n ** (1/2)

    if sqrt % 1 == 0:
        return (sqrt + 1) ** 2
    return -1

n의 제곱근을 구해 나눠 떨어지면 제곱근이 있는 것으로 생각해서 (sqrt + 1) ** 2을 리턴하고 나눠 떨어지지 않으면 -1을 리턴합니다.


프로그래머스 '정수 제곱근 판별' : https://programmers.co.kr/learn/courses/30/lessons/12934

 

코딩테스트 연습 - 정수 제곱근 판별

임의의 양의 정수 n에 대해, n이 어떤 양의 정수 x의 제곱인지 아닌지 판단하려 합니다. n이 양의 정수 x의 제곱이라면 x+1의 제곱을 리턴하고, n이 양의 정수 x의 제곱이 아니라면 -1을 리턴하는 함�

programmers.co.kr

 

문제 설명


함수 solution은 정수 n을 매개변수로 입력받습니다. n의 각 자릿수를 큰것부터 작은 순으로 정렬한 새로운 정수를 리턴해주세요. 예를들어 n이 118372면 873211을 리턴하면 됩니다.

제한조건

 

  • n은 1이상 8000000000 이하인 자연수입니다.

 

입출력 예

 

n return
118372 873211

 

나의 풀이

 

def solution(n):
    n=list(str(n))
    n.sort(reverse=True)
    n=int(''.join(n))
    return n

1. n을 str형으로 바꿔 리스트를 만들고 내림차순으로 정렬해줍니다.
2. 리스트 n의 각 값들을 합쳐 int형으로 바꿔 리턴합니다.

 


프로그래머스 '정수 내림차순으로 배치하기' : https://programmers.co.kr/learn/courses/30/lessons/12933

 

코딩테스트 연습 - 정수 내림차순으로 배치하기

함수 solution은 정수 n을 매개변수로 입력받습니다. n의 각 자릿수를 큰것부터 작은 순으로 정렬한 새로운 정수를 리턴해주세요. 예를들어 n이 118372면 873211을 리턴하면 됩니다. 제한 조건 n은 1이��

programmers.co.kr

 

문제 설명


자연수 n을 뒤집어 각 자리 숫자를 원소로 가지는 배열 형태로 리턴해주세요. 예를들어 n이 12345이면 [5,4,3,2,1]을 리턴합니다.

제한조건

 

  • n은 10,000,000,000이하인 자연수입니다.

입출력 예

 

n return
12345 [5,4,3,2,1]

 

나의 풀이

 

def solution(n):
    n=list(str(n))
    n.reverse()
    n=list(map(int,n))
    return n

1. n을 str형의 리스트로 만들고 뒤집습니다.
2. n을 int형의 리스트로 만들어 리턴합니다.

 

다른 사람의 풀이

 

def solution(n):
    return list(map(int, reversed(str(n))))

n을 str형으로 만들어 뒤집고 int형의 리스트로 만들어 리턴합니다.


프로그래머스 '자연수 뒤집어 배열로 만들기' : https://programmers.co.kr/learn/courses/30/lessons/12932

 

코딩테스트 연습 - 자연수 뒤집어 배열로 만들기

자연수 n을 뒤집어 각 자리 숫자를 원소로 가지는 배열 형태로 리턴해주세요. 예를들어 n이 12345이면 [5,4,3,2,1]을 리턴합니다. 제한 조건 n은 10,000,000,000이하인 자연수입니다. 입출력 예 n return 12345

programmers.co.kr

 

문제 설명


자연수 N이 주어지면, N의 각 자릿수의 합을 구해서 return 하는 solution 함수를 만들어 주세요.
예를들어 N = 123이면 1 + 2 + 3 = 6을 return 하면 됩니다.

제한조건

 

  • N의 범위 : 100,000,000 이하의 자연수

입출력 예

 

N answer
123 6
987 24

 

입출력 예 설명


입출력 예 #1
문제의 예시와 같습니다.

입출력 예 #2
9 + 8 + 7 = 24이므로 24를 return 하면 됩니다.

 

나의 풀이

 

def solution(n):
    a=list(map(int,str(n)))
    return sum(a)

1. n을 str형으로 바꾸고 각 자리마다 int형으로 리스트 a에 저장합니다.
2. 리스트 a의 합을 리턴합니다.

 

다른 사람의 풀이

 

def solution(n):
    return sum([int(i) for i in str(n)])

n을 str형으로 바꾸고 for문을 이용해 합을 구해 리턴합니다.


프로그래머스 '자릿수 더하기' : https://programmers.co.kr/learn/courses/30/lessons/12931

 

코딩테스트 연습 - 자릿수 더하기

자연수 N이 주어지면, N의 각 자릿수의 합을 구해서 return 하는 solution 함수를 만들어 주세요. 예를들어 N = 123이면 1 + 2 + 3 = 6을 return 하면 됩니다. 제한사항 N의 범위 : 100,000,000 이하의 자연수 입출

programmers.co.kr

 

+ Recent posts