Ming's Life

[내일배움캠프] 19일차 본문

내일배움캠프

[내일배움캠프] 19일차

chamiii 2025. 6. 9. 22:20

1. 오늘 학습 키워드

  • 파이썬 개인과제

 


 

2. 오늘 학습 한 내용을 나만의 언어로 정리하기

 

 

  • 배경: 한 소매점에서 재고를 계산해야 합니다. 주어진 재고의 평균을 계산해보세요.
  • 문제 의도
    • 리스트의 자료형을 이해
    • 내장 함수의 활용
  • 요구 사항
    • 함수명: calcuate_stock
    • 해당 함수는 리스트의 전달 인자를 받음
numbers = [10, 20, 30, 40, 50]def calcuate_stock(numbers):
    return sum(numbers) / len(numbers)

 

 

 

  • 배경: 컴퓨터 과학 수업에서 학생들은 기본적인 프로그래밍 원리를 익히고, 실제 생활에 적용할 수 있는 간단한 프로그램을 만드는 연습을 합니다. 이를 간단한 형태로 변환하여 함수형으로 만들어 보겠습니다.
  • 문제 의도
    • 전달 인자의 입력에 대한 이해
    • 조건문에 대한 이해
  • 요구 사항
    • 함수명: simple_calculator
    • num1 , num2 : 숫자 입력 값
    • operator : 문자열 형태의 사칙 연산자 (+, -, * , /)
    • 나누려는 숫자 num2 가 0인 경우 다음 문자를 반환 “Cannot divide by zero
def simple_calculator(num1, num2, operator):
    if operator == '+':
        return num1 + num2
    elif operator == '-':
        return num1 - num2
    elif operator == '*':
        return num1 * num2
    elif operator == '/':
        if num2 != 0:
            return num1 / num2
        else :
            return 'Cannot divide by zero'

 

 

 

  • 배경: 한 소매점에서 가장 많은 제품을 가지고 있는 상품을 찾아야 합니다. 딕셔너리 형태로 저장된 재고 현황을 전달하면 가장 많이 있는 상품과 해당 상품의 수량을 반환하세요.
  • 문제 의도
    • 딕셔너리 자료형의 이해
    • 딕셔너리 자료형과 내장 함수의 조합 혹은 최대 값 찾기 알고리즘 구현
  • 요구 사항
    • 함수명: find_top_seller
    • 해당 함수는 딕셔너리의 전달 인자를 받음
sales_data = {"apple": 50, "orange": 2, "banana" : 30}
def find_top_seller(sales_data):
    top_product = max(sales_data, key = sales_data.get)
    max_sales = sales_data[top_product]
    return(top_product, max_sales)

 

 

 

  • 배경: 당신은 대규모 텍스트 데이터를 분석하는 프로젝트를 진행하고 있습니다. 텍스트 데이터에서 특정 패턴을 찾아내는 작업을 수행해야 합니다. 이번 작업에서는 중복된 문자를 제거하고 각 문자가 한 번씩 만 나타나게 하는 프로그램을 작성하는 것이 목표입니다. 하지만 각 문자는 처음 등장한 순서를 유지해야 하며, 추가적으로 각 문자가 등장하는 빈도를 함께 계산해야 합니다.
  • 문제 의도
    • 딕셔너리의 자료형의 이해
    • 중첩된 자료형에 대한 이해
  • 요구 사항
    • 함수명: remove_duplicates_and_count
    • 해당 함수는 문자열의 답을 받음
    • 주어진 문자열에서 중복된 문자를 제거
    • 각 문자가 처음 등장한 순서를 유지
    • 각 문자가 등장하는 빈도를 함께 출력하며 결과는 (문자, 빈도수) 형태의 튜플로 반환
input_string = "abracadabra123321"

def remove_duplicates_and_count(input_string):
    result_with_frequency = []
    cnt = {}
    for i in input_string:
        if i not in cnt:
            result_with_frequency.append(i)
            cnt[i] = 1
        else:
            cnt[i] += 1
    return [(i,cnt[i]) for i in result_with_frequency]

 

 

 

3. 학습하며 겪었던 문제점 & 에러 

 

반복 학습 필요

 

4. 내일 학습 할 것은 무엇인지 

 

SQL / Python 코드카타 , 파이썬 공부

'내일배움캠프' 카테고리의 다른 글

[내일배움캠프] 21일차 _ 클래스  (1) 2025.06.11
[내일배움캠프] 20일차  (0) 2025.06.10
[내일배움캠프] 18일차  (0) 2025.06.05
[내일배움캠프] 17일차  (0) 2025.06.04
[내일배움캠프] 16일차  (0) 2025.06.02