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

연휴(월)_TIL

Wat_zy 2025. 10. 6. 20:44

✅ 오늘 한 것

알고리즘 문제


✏️ 오늘 배운 점

def solution(myString):
    return [len(s) for s in myString.split('x')]

문자 x로 나누었을 때의 문자열 각각의 길이를 구하기 위해 split()을 해야 코드 작성이 원활하게 진행될 수 있다는 것을 볼 수 있었다.

def solution(num_list):
    a = 0
    b = 0
    for i in num_list[::2]:
        a += i
    for i in num_list[1::2]:
        b += i
    return max(a, b)

정렬 이후 짝수열과 홀수열의 합계를 비교하여 더 큰 값을 반환하는 것으로 보아 코드를 길게 작성하였다가 오류를 발견하여 수정할 수 있었다. 처음부터 정렬을 진행하지 않았다면 한 줄의 코드로도 작성할 수 있었을 것이라는 생각이 들었다.

def solution(my_string):
    return my_string.split()

split(): 괄호 안에 아무것도 넣지 않는다면 공백의 개수와 상관없이 문자만 나누어 반환한다는 것을 이 문제를 통해 알 수 있었다. 

split(" ")을 한다면 공백 하나당 문자를 나누어 반환한다.

def solution(arr, intervals):
    result = []
    for i in range(len(intervals)):
        result += arr[intervals[i][0]:intervals[i][1]+1]
    return result

리스트내에 []로 포함하지 않고 객체만을 포함하기 위해서는 append가 아닌 +=를 사용하여 추가하면 []에 [[]]의 형식이 아닌 []로 나온다는 것을 알 수 있는 문제였다.

def solution(s):
    if (len(s) == 4 or len(s) == 6) and s.isdecimal():
        return True
    else:
        return False

isdecimal()을 활용하여 문자열이 int인지 확인하는 코드를 작성하였다.


df_month_loc = df.groupby(['defect_location', 'month'])['repair_cost'].agg(['count', 'sum', 'mean'])
df_month_loc

df_month_loc1 = df.groupby(['defect_location', 'month'])['repair_cost'].mean().unstack()
df_month_loc1

df_month_loc1.plot(kind='bar', figsize=(10, 5))

plt.xlabel('월별 결함 위치')
plt.ylabel('평균 수리비')
plt.title('월별 결함 위치의 평균 수리비')
plt.show()

 


✏️ 오늘의 핵심

split(): 괄호 안에 아무것도 넣지 않는다면 공백의 개수와 상관없이 문자만 나누어 반환한다는 것을 이 문제를 통해 알 수 있었다. 

split(" ")을 한다면 공백 하나당 문자를 나누어 반환한다.

 

isdecimal()

isdigit()

isnumeric()

=> 주어진 문자열이 숫자로 되어있는지 검사하는 함수

 


📌추가로 해야할 점

알고리즘 문제 풀이

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

연휴(수)_TIL  (0) 2025.10.08
연휴(화)_TIL  (0) 2025.10.07
본캠프_4주차(일)_TIL  (0) 2025.10.05
본캠프_4주차(토)_TIL  (0) 2025.10.04
본캠프_4주차(금)_TIL  (0) 2025.10.03