TIL_230814

Sol Lee·2023년 9월 19일
0
post-custom-banner

오늘 한 일

튜터님 깜짝 퀴즈

# 문제: Hyundai, Kia를 추출하여 대문자 리스트로 출력하세요.
# 힌트: lower(), upper() car_brands = ["Tesla", "BMW", "Audi", "Ferrari", "Hyundai", "Kia"]
# 출력 : ['HYUNDAI', 'KIA']

car_brands = ["Tesla", "BMW", "Audi", "Ferrari", "Hyundai", "Kia"]

cars = []

for car in car_brands:
if car == "Hyundai" or car == "Kia":
cars.append(car.upper())

print(cars)

프로그래머스 코딩테스트 입문 문제 풀이

# 1. 숫자 찾기

# 정수 num과 k가 매개변수로 주어질 때, 
# num을 이루는 숫자 중에 k가 있으면 num의 그 숫자가 있는 자리 수를 return하고 
# 없으면 -1을 return 하도록 solution 함수를 완성해보세요.

# 내 답변
def solution(num, k):
    answer = 1

    for i in str(num):
        if i == str(k):
            return answer
        else:
            answer += 1

    if answer == len(str(num))+1:
        return -1

# 다른 사람의 답변
def solution(num, k):
    return -1 if str(k) not in str(num) else str(num).find(str(k)) + 1
    
--------------------------------------------------------

## 문자열.find(찾을 문자): 문자열에서 문자를 찾아 인덱스를 반환함(해당 문자가 여러 개라면 맨 처음 것을 반환)
# 2. n의 배수 고르기

# 정수 n과 정수 배열 numlist가 매개변수로 주어질 때, 
# numlist에서 n의 배수가 아닌 수들을 제거한 배열을 return하도록 solution 함수를 완성해주세요.

# 내 답변
def solution(n, numlist):
    answer = []
    
    for num in numlist:
        if num % n == 0:
            answer.append(num)
        
    return answer

# 다른 사람 답변
def solution(n, numlist):
    return list(filter(lambda v: v%n==0, numlist))

## filter(적용시킬 함수, 적용할 요소들)

--------------------------------------------------------

# 3. 자릿수 더하기

# 정수 n이 매개변수로 주어질 때 n의 각 자리 숫자의 합을 return하도록 solution 함수를 완성해주세요

# 내 답변
def solution(n):
    answer = 0

    for i in str(n):
        answer += int(i)

    return answer

# 다른 사람 답변
def solution(n):
    return sum(int(i) for i in str(n))

--------------------------------------------------------

# 4. OX퀴즈

# 덧셈, 뺄셈 수식들이 'X [연산자] Y = Z' 형태로 들어있는 문자열 배열 quiz가 매개변수로 주어집니다. 
# 수식이 옳다면 "O"를 틀리다면 "X"를 순서대로 담은 배열을 return하도록 solution 함수를 완성해주세요.

# 내 답변
def solution(quiz):
    answer = []
    
    for i in quiz:
        qu = i.split()
        op = qu[1]
        if op == '+':
            iz = int(qu[0]) + int(qu[2])
            if iz == int(qu[4]):
                answer.append("O")
            else:
                answer.append("X")
        else:
            iz = int(qu[0]) - int(qu[2])
            if iz == int(qu[4]):
                answer.append("O")
            else:
                answer.append("X")
                
    
    return answer

# 다른 사람 답변
def solution(quiz):
    answer = []
    for q in quiz:
        l, r = q.split('=')
        answer.append("O" if eval(l) == int(r) else "X")
    return answer

## eval(표현식): 표현식을 실행하여 값으로 가짐
## eval 함수의 경우 시스템명령어도 실행시킬 수 있기 때문에 보안상의 문제를 일으킬 수 있어 현업에서의 사용은 조심할 필요가 있다고 함

참고
https://bluese05.tistory.com/64

profile
직업: 개발자가 되고 싶은 오레오 집사
post-custom-banner

0개의 댓글