[프로그래머스] LV.0 5문제 풀기

Stella·2023년 9월 7일

1. 중복된 숫자 개수

- 문제

정수가 담긴 배열 array와 정수 n이 매개변수로 주어질 때, array에 n이 몇 개 있는 지를 return 하도록 solution 함수를 완성해보세요.

- 풀이

def solution(array, n):
	return array.count(n)
// count() 함수를 사용하면 배열이 몇 개의 값을 가지고 있는지 계산하여 숫자로 반환한다.

2. 삼각형의 완성조건(1)

- 문제

선분 세 개로 삼각형을 만들기 위해서는 다음과 같은 조건을 만족해야 합니다.

가장 긴 변의 길이는 다른 두 변의 길이의 합보다 작아야 합니다.
삼각형의 세 변의 길이가 담긴 배열 sides이 매개변수로 주어집니다. 세 변으로 삼각형을 만들 수 있다면 1, 만들 수 없다면 2를 return하도록 solution 함수를 완성해주세요.

- 풀이

가장 긴 변의 길이는 다른 두변의 길이의 합
sides.sort()를 하는 이유는 리스트 sides에 있는 변의 길이를 오름차순으로 정렬한다.
가장 긴 변이 리스트의 마지막 요소로 옮겨지게 된다.
그리고 조건을 검사할 때는 가장 긴 변과 나머지 두 변의 길이를 비교해야 한다.

def solution(sides):
	sides.sort()
  	if sides[2] < sides[0] + sides[1]:
    	return 1
        
    두 변의 합보다 작아야 한다. -> 1을 만들 수 없다면 2를 return하도록 한다.

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

- 문제

문자열 my_string이 매개변수로 주어집니다. my_string안의 모든 자연수들의 합을 return하도록 solution 함수를 완성해주세요.

- 풀이

파이썬 내장함수인 isdigit()을 사용하여 풀어준다.

def solution(my_string):
    numbers = []
    for i in my_string:
        if i.isdigit():
            numbers.append(int(i))
    return sum(numbers)
  • 파이썬 내장함수
    1) isalpha : 문자열의 구성이 알파벳 or 한글인지 확인하는 내장함수
    2) isdigit : 숫자인지 확인하는 내장함수
    3) isalnum : 알파벳 or 한글인지 or 숫자인지 확인하는 내장함수

4. 문자 반복 출력하기

- 문제

문자열 my_string과 정수 n이 매개변수로 주어질 때, my_string에 들어있는 각 문자를 n만큼 반복한 문자열을 return 하도록 solution 함수를 완성해보세요.

- 풀이

def solution(my_string, n):
  answer = ""

  for i in my_string:
     answer += i * n  
  return answer

여기서 answer = ""은 그냥 빈 문자열이다.
빈 문자열 안에 i를 숫자 n만큼 곱한 값을 저장한다.

5. 중앙값 구하기

- 문제

중앙값은 어떤 주어진 값들을 크기의 순서대로 정렬했을 때 가장 중앙에 위치하는 값을 의미합니다. 예를 들어 1, 2, 7, 10, 11의 중앙값은 7입니다. 정수 배열 array가 매개변수로 주어질 때, 중앙값을 return 하도록 solution 함수를 완성해보세요.

- 풀이

1) numpy라이브러리의 median함수 사용하기

import numpy as np
def solution(array):
	return np.median(array)

numpy라이브러리를 사용해서 median함수를 사용하여 중앙값을 구하거나

2) 다른사람 풀이

def solution(array):
	array = sorted(array)
    length = len(array)//2
    return array[length]
profile
공부 기록

0개의 댓글