빅데이터 QAQC_3기/빅데이터 QAQC_3기 TIL

TIL_251111

usungusung 2025. 11. 11. 21:14

Today I learned

 

 

1. 코드카타

- K번째 수

배열 array, [i, j, k]를 원소로 가진 2차원 배열 commands가 매개변수로 주어질 때, commands의 모든 원소에 대해 앞서 설명한 연산을 적용했을 때 나온 결과를 배열에 담아 return 하도록 solution 함수를 작성해주세요.

array = [1, 5, 2, 6, 3, 7, 4]
commands = [[2, 5, 3], [4, 4, 1], [1, 7, 3]]
array, commands 만듦
def solution(array, commands):
    answer = []
    for ijk in commands:
        i,j,k = ijk
        sliced = array[i-1:j]
        sliced.sort()
        answer.append(sliced[k-1])
    return answer


 
    answer = []
- answer는 최종 결과를 담을 빈 리스트

    for ijk in commands:
        i,j,k = ijk
- commands의 각 원소들을 ijk 변수로 옮기고, 각 원소들을 i,j,k에 각각 할당한다.

        sliced = array[i-1:j]
- array의 i 번째부터 j 번째 까지 잘라냄

        sliced.sort()
- 잘라낸 배열을 오름차순으로 정렬함

        answer.append(sliced[k-1])
- 정렬된 배열의 k번째 값을 answer에 추가함


print(solution(array, commands))
[5, 6, 3]

 

 

- 두 개 뽑아서 더하기

정수 배열 numbers가 주어집니다. numbers에서 서로 다른 인덱스에 있는 두 개의 수를 뽑아 더해서 만들 수 있는 모든 수를 배열에 오름차순으로 담아 return 하도록 solution 함수를 완성해주세요.

def solution(numbers):
    answer = []
    for i in range(len(numbers)):
        for j in range(i+1, len(numbers)):
            answer.append(numbers[i] + numbers[j])
    return sorted(list(set(answer)))
    answer = []
- answer는 최종 결과를 담을 빈 리스트

    for i in range(len(numbers)):
        for j in range(i+1, len(numbers)):
- 이중 for문으로 가능한 '서로 다른 두 수의 조합'을 순횧마
    i는 리스트의 첫 인덱스부터 마지막까지
    j는 i+1부터 시작하여 마지막까지

            answer.append(numbers[i] + numbers[j])
- 각 쌍의 합을 구해서 answer 리스트에 추가함

    return sorted(list(set(answer)))
- 중복 제거하고 정렬

print(solution([2,1,3,4,1]))
print(solution([5,0,2,7]))
[2, 3, 4, 5, 6, 7]
[2, 5, 7, 9, 12]

 

 

2. 심화프로젝트

- 머신러닝(XGBoost, LightGBM, RandomForest 및 K-fold test 완료)

- 데이터 검증 및 코드 통일화 작업

- 추후 진행 예정: SMOTE와 Gridsearch 작업을 통한 검정 결과 완화, 공정 데이터만 시각화, best 머신러닝 모델 선정하기

'빅데이터 QAQC_3기 > 빅데이터 QAQC_3기 TIL' 카테고리의 다른 글

TIL_251114  (0) 2025.11.14
TIL_251112  (0) 2025.11.12
TIL_251110  (1) 2025.11.10
TIL_251107  (0) 2025.11.07
TIL_251105  (0) 2025.11.05