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

연휴(금)_TIL

Wat_zy 2025. 10. 10. 16:04

✅ 오늘 한 것

알고리즘 문제


✏️ 오늘 배운 점

def solution(sizes):
    max_w = 0
    max_h = 0
    for w, h in sizes:
        w, h = max(w, h), min(w, h)
        max_w = max(max_w, w)
        max_h = max(max_h, h)
    return max_w * max_h

명함 지갑 문제를 통해 각 명함의 가로·세로 중 더 긴 쪽을 가로로, 짧은 쪽을 세로로 통일해 비교해야 한다는 점을 깨달았다.

def solution(arr, flag):
    result = []
    for i in range(len(arr)):
        if flag[i] == True:
            for j in range(arr[i]*2):
                result.append(arr[i])
        if flag[i] == False:
            for j in range(arr[i]):
                result.pop()
    return result

처음에는 마지막 요소를 제거할 때 remove(result[-1])를 사용하였으나, 이는 맨 끝 요소를 제거하는 것이 확정이 아닌 마지막 요소와 동일한 숫자를 가진 첫번째 요소를 제거하기에 예상한 결과가 다르게 나타날 수 있다는 것을 알 수 있었다. 그로 인해 구글링을 통해 무조건 마지막 요소를 제거해주는 pop()을 활용하여 문제를 해결할 수 있었다.

def solution(num_list):
    result = 0
    for i in range(len(num_list)):
        while num_list[i] > 1:
            if num_list[i] % 2 == 0:
                num_list[i] = num_list[i] / 2
                result += 1
            else:
                num_list[i] = (num_list[i]-1) / 2
                result += 1
    return result

리스트 내 각 요소가 1이 될 때까지 반복 진행해야 하기에 while문을 사용하여 1이 될 때까지 반복한 횟수를 1씩 추가하여 각 요소를 전부 for문으로 돌린 이후에 전체 횟수를 반환하는 코드를 작성하였다.


✏️ 오늘의 핵심

실제 데이터 분석에서도 단위·방향·형식을 표준화해야만 올바른 결과를 얻을 수 있다

pop() : 리스트의 마지막 요소 제거

 


📌추가로 해야할 점

SQLD

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

연휴(일)_TIL  (1) 2025.10.12
연휴(토)_TIL  (0) 2025.10.11
연휴(목)_TIL  (0) 2025.10.09
연휴(수)_TIL  (0) 2025.10.08
연휴(화)_TIL  (0) 2025.10.07