프로그래머스 코테 연습 lv.0 (4)

영릿·2022년 12월 5일
0

코딩테스트연습

목록 보기
4/8
post-thumbnail
  1. 자릿수 더하기
    https://school.programmers.co.kr/learn/courses/30/lessons/120906
  • 리스트 컴프리헨션
  • map(int, list)
def solution(n):
    return sum(map(int,[x for x in str(n)]))
  1. 중앙값 구하기
    https://school.programmers.co.kr/learn/courses/30/lessons/120811
    • .sort(): "리스트형의 메소드"이며, 리스트 원본 값 자체를 변경, 값을 반환하지 않고 정렬만 변경해주는 것
    • sorted(리스트): "내장 함수"이며, 리스트 원본 값을 유지한 채 정렬 값을 반환한다.
def solution(array):
    n = len(array)//2
    array.sort()
    return array[n]
# 더 간단한 다른 풀이
def solution(array):
    return sorted(array)[len(array) // 2]
  1. 문자열안에문자열
    https://school.programmers.co.kr/learn/courses/30/lessons/120908

in 연산자의 결과는 bool 타입이며 확인하고자 하는 데이터가 있는 경우 True, 없는 경우 False를 반환합니다.
반대로 not in 연산자는확인하고자 하는 데이터가 있으면 False, 없으면 True를 반환합니다.
for + in은 하나씩 요소 빼오는 데 사용

삼항연산자
1 if True else 2

def solution(str1, str2):
    return 1 if str2 in str1 else 2
  1. 옷가게 할인 받기
    https://school.programmers.co.kr/learn/courses/30/lessons/120818
  • 이상인 것 잘 보기
  • import math, math.floor 버림 활용 <-> 올림은 ceil
  • 반올림인 경우엔 그냥 round()사용 가능
  • 그냥 int(price)로 해도 정답... 분명 실패해서 재시도한건데 이상하다;;
import math
def solution(price):
    if price >= 500000:
        price = price * 0.8
    elif price >= 300000:
        price = price * 0.9
    elif price >= 100000:
        price = price * 0.95
    return math.floor(price)
  1. 모음 제거
    https://school.programmers.co.kr/learn/courses/30/lessons/120849
  • my_string 문자열에서 모음 제거한 새로운 리스트 : check
  • check안에 있는 문자만 순서대로 answer 리스트에 담기
  • join으로 리스트를 하나의 str으로 결합
def solution(my_string):
    vowel = ['a','e','i','o','u']
    check = list(set(my_string) - set(vowel))

    answer = []
    for x in my_string:
        if x in check:
            answer.append(x)
    return ''.join(answer)
  1. 숨어있는 숫자의 덧셈 (1)
    https://school.programmers.co.kr/learn/courses/30/lessons/120851
  • re(정규표현식, regex) 활용한 풀이
import re

def solution(my_string):
	# 숫자만 찾아서 더하기
    return sum(map(int,re.findall('[0-9]', my_string)))
profile
데이터분석가를 꿈꾸고 있습니다

0개의 댓글