[5주차] 팀스터디노트

목해민·2023년 2월 1일
0

지난주에 본 파이썬 코딩테스트 코드 리뷰를 하였다.

서로가 작성한 코드가 달라 서로에게 도움이 되는 시간이였다.

<팀원이 작성한 코드>

#문제 3 (15점)
def calc_tips(totalPrice, tipPer=10):

    calTip = totalPrice * tipPer / 100

    if calTip > int(calTip):
        calTip = int(calTip)+1
    print(f'지불할 팁은 {int(calTip)}달러')

print("3번 답안")
print(calc_tips(50))
#문제 4 (15점)
def search_target(sentence, target):
    wordIdx = []
    word = sentence.split()
    for i, val in enumerate(sentence):
        if sentence[i:i+4] == target:
            wordIdx.append(i)
    print(f'{len(wordIdx)},{wordIdx}')

print("4번 답안")

sentence = "Beautiful is better than ugly. Explicit is better than implicit. Simple is better than complex."
target = "than"

print(search_target(sentence, target))
# 문제 5 (25점)
def div_ab(a,b):
    n = 0
    if type(a) == int and type(b) == int:
        n += 1
        if a-b <= a:
            leftab = a-b
        else:
            print(div_ab(a-b, a))
    else:
        print('정수만 입력해주세요')
    print(f'{a}나누기{b}의 결과: 몫:{n}, 나머지:{leftab}')
    
print("5번 답안")
a = 3
b = 2  
print(div_ab(a, b))

<내가 작성한 코드>

# 문제 3 (15점)
import math
def calc_tips(total, tip_rate=0.1):
    tip = total * tip_rate
    tip = math.ceil(tip)
    total += tip
    print(f'팁은 {tip}달러, 총 금액은 {total}달러입니다.')
 
print("3번 답안")   
print(calc_tips(73,0.18))


# 문제 4 (15점)
def search_target(sentence, target):
    count = sentence.count(target)
    if count == 0:
        return "Not found"
    else:
        index_list = []
        start = 0
        while start < len(sentence):
            index = sentence.find(target, start)
            if index == -1:
                break
            index_list.append(index)
            start = index + 1
        return count, index_list
    
print("4번 답안")

sentence = "Beautiful is better than ugly. Explicit is better than implicit. Simple is better than complex."
target = "than"

print(search_target(sentence, target))


# 문제 5 (25점)#
def div_ab(a,b):
    if not (isinstance(a, int) and isinstance(b, int)):
        raise ValueError("Both inputs should be integers.")
    quotient = 0
    while a >= b:
        a -= b
        quotient += 1
    remainder = a
    print(f'3나누기 2의 결과 : 몫{quotient},나머지{remainder}')
    
print("5번 답안")
a = 3
b = 2  
print(div_ab(a, b))
profile
데이터분석가

0개의 댓글