품질관리(QAQC) 데이터 부트캠프(본캠프)

본캠프_2주차(5일)_TIL

Wat_zy 2025. 9. 19. 20:18

✅ 오늘 한 것

코드카타(Python & SQL), 파이썬 개인 과제


✏️ 오늘 배운 점

❗ 문제:

numbers = [10, 20, 30, 40, 50]
print(numbers[0:3])  # 출력: [10, 20, 30]

🔍 시도: 처음에는 [0:3]을 기억하지 못해 [0, 1, 2]라고 작성했다가 결과를 찾아보지 못했다.
✅ 해결: 이후 [0:3]을 기억해내서 위의 코드처럼 제대로 된 코드를 작성할 수 있었다.

❗ 문제:

def name(user_name):                         # [1] 함수 이름을 작성하세요(자유롭게)
    if user_name == "Admin":                    # [2] "Admin"일 때를 조건으로 작성하세요
        print("데이터 분석 관리자님, 시스템에 접속하셨습니다.")
    else:
        print("환영합니다, " + user_name + " 분석가님!") # [3] 이름을 포함한 일반 인사 출력

name("Admin")      # [4] 함수를 호출하세요(Admin 을 넣어주세요)
name("Alice")  # [5] 함수를 호출하세요

🔍 시도: else: 구문 내에서 user_name을 작성하는 것을 기억하지 못해 처음에는 name으로도 적고, Alice로도 적었지만 Alice를 적으면 함수를 호출할 때 계속해서 Alice라는 값만 처리하기에 아닐 것이라는 생각이 들었다.
✅ 해결: 이후, 작성된 함수를 찾아보다가 name(user_name)에서 달라지는 변수는 user_name임을 알게 되어 코드에 작성하여 성공된 결과를 찾아볼 수 있었다.

❗ 문제:

numbers = [10, 20, 30, 40, 50]

def calculate_diff_temperature(numbers):
    max_num = numbers[0]
    min_num = numbers[0]
    for num in numbers:
        if max_num < num:
            max_num = num
        if min_num > num:
            min_num = num
            
    diff_temp = max_num - min_num
    return diff_temp

diff_temp= calculate_diff_temperature(numbers)
print("온도차:", diff_temp)

🔍 시도: max_num = 0과 min_num = 0으로 작성했다가 max_num은 반복문과 조건문을 통하여 최대값을 확인할 수 있다는 것을 알게 되었지만, min_num을 0으로 잡으면 음수가 아닌 이상 최소 온도를 확인할 수 없다는 것을 알게 되었다.
✅ 해결: 리스트 내의 첫번째 값으로 설정한다면 리스트 내의 각 객체와 비교하여 최대값과 최소값을 각각 확인할 수 있겠다는 생각과 함께 number[0]로 적용시켜 코드의 순환이 이루어질 수 있도록 작성하였다.

❗ 문제:

def find_top_seller(sales_data):
    top_product = 0
    max_sales = 0
    for value in sales_data.values():
        if max_sales < value:
            max_sales = value
    for key in sales_data.keys():
        if sales_data[key] == max_sales:
            top_product = key
    
    
    return top_product, max_sales

# 예시 데이터
sales_data = {
    "Motherboard": 50,
    "SSD": 2,
    "Graphics Card": 30
}

print("가장 많이 판매된 제품과 수량 :", find_top_seller(sales_data))

# 실행 결과
# 가장 많이 판매된 제품과 수량 : ('Motherboard', 50)

🔍 시도: 가장 많이 판매된 제품의 수량은 딕셔너리 내부의 value를 각각 확인하여 리스트 내의 숫자 비교처럼 코드를 작성하면 쉽게 해결이 가능했지만, 최대값에 부합하는 key를 찾아내는 코드가 기억나지 않았다.
✅ 해결: 구글링을 통하여 key를 불러오고 key에 부합하는 value 값을 찾는 함수를 찾아낼 수 있었다. List 내에서 하나의 객체를 골라 결과를 뽑아내는 방식과 비슷하다는 것을 코드 작성 이후에 알게 되어 List와 Dictionary는 여러가지 문제를 통해 복습이 필요함을 알 수 있었다.

❗ 문제:

numbers = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]

even_numbers = [
    num               # 리스트에 담을 요소
    for num in numbers
    if num % 2 == 0   # 짝수 조건
]

print(even_numbers)

🔍 시도: 리스트 컴프리헨션을 배우기는 했으나 직접적으로 사용해본 적이 없어서 여러 가지 변수를 작성해보면서 오류를 많이 볼 수 있었다.
✅ 해결: 여러 가지 변수를 작성하다가 num 변수를 입력하였을 때 결과가 나올 수 있겠다는 생각과 함께 결과가 나타나는 것을 보고 리스트 컴프리헨션이 꽤나 코드 작성이 간결하고 가독성이 좋게 나오면서 활용성이 높겠다는 생각이 들었다.


✏️ 오늘의 핵심

코드 작성 과정에서 단순히 정답을 외우는 것이 아니라, 시도와 오류를 통해 왜 그런 결과가 나오는지를 이해하는 것이 중요하다는 것을 배웠다. 리스트와 딕셔너리, 함수, 리스트 컴프리헨션 등 다양한 문법을 직접 적용하면서 시행착오 끝에 해결책을 찾았고, 그 과정에서 Python 문법에 대한 이해와 응용력이 점차 쌓여가고 있음을 확인할 수 있었다.


📌추가로 해야할 점

개인 과제 Level 3., 코드카타(SQL & Python), SQLD

'품질관리(QAQC) 데이터 부트캠프(본캠프)' 카테고리의 다른 글

본캠프_3주차(2일)_TIL  (0) 2025.09.23
본캠프_3주차(1일)_TIL  (0) 2025.09.22
본캠프_2주차(4일)_TIL  (0) 2025.09.18
본캠프_2주차(3일)_TIL  (0) 2025.09.17
본캠프_2주차(2일)_TIL  (0) 2025.09.16