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

Stella·2023년 9월 11일

1. 문자열의 앞의 n글자

  • 문제
    문자열 my_string과 정수 n이 매개변수로 주어질 때, my_string의 앞의 n글자로 이루어진 문자열을 return 하는 solution 함수를 작성해 주세요.
  • 풀이
def solution(my_string, n):
	return my_string[:n] # 시작값 : n의 자릿수까지 

2. 정수 부분

  • 문제
    실수 flo가 매개변수로 주어질 때, flo의 정수 부분을 return하도록 solution함수를 완성해주세요.

  • 풀이

def solution(flo):
	return int(flo)
    

int로 변환해주면 정수부분만 출력이 되는 것을 처음 알았다.

3. 길이에 따른 연산

  • 문제
    정수가 담긴 리스트 num_list가 주어질 때, 리스트의 길이가 11 이상이면 리스트에 있는 모든 원소의 합을 10이하이면 모든 원소의 곱을 return하도록 solution 함수를 완성해주세요.

  • 풀이

def solution(num_list):
    answer = 0
    if len(num_list) >= 11:
        for i in num_list:
            answer += i
    else:
        answer = 1
        for i in num_list:
             answer *= i
    return answer

else: 1부터 시작하는 이유는
answer에 0을 넣게 되면 i와 곱하게 되면 항상 0의 값을 갖기 때문이다.

4. 소문자로 바꾸기

  • 문제
    알파벳으로 이루어진 문자열 myString이 주어집니다. 모든 알파벳을 소문자로 변환하여 return 하는 solution 함수를 완성해 주세요.

  • 풀이

def solution(myString):
    answer = ''
    for i in myString:
        if i.isupper():
            answer += i.lower()
        else:
            answer += i.lower()
    return answer

파이썬 내장함수를 사용한다.
string.upper() : 바꾸고자 하는 문자열 객체를 대문자로 변경한다.
string.lower() : 바꾸고자 하는 문자열 객체를 소문자로 변경한다.

5. 이어 붙인 수

  • 문제
    정수가 담긴 리스트 num_list가 주어집니다. num_list의 홀수만 순서대로 이어 붙인 수와 짝수만 순서대로 이어 붙인 수의 합을 return하도록 solution 함수를 완성해주세요.
  • 풀이
def solution(num_list):
	even = ''
    odd = ''
    for i in num_list:
    	if i % 2 == 0:
        	even += str(i)
        else:
        	odd += str(i)
    return int(even) + int(odd)
    

홀수만 순서대로 이어붙이기 위해 string으로 형변환을 해줘야 하고,
짝수만 순서대로 이어 붙인 수의 합을 return하기 위해 int로 다시 형변환을 해야 한다.

profile
공부 기록

0개의 댓글