연습장

21. 데이터 분석 본문

프로그래머스/1단계

21. 데이터 분석

js0616 2024. 1. 20. 17:58

마치 sql 을 보는 느낌이다. 

 

 

data

 

 

ext 뽑아내는 데이터 종류  : code, data, maximum , remain

val_ext 뽑아내는 데이터 기준 값 :  숫자

sort_by : 정렬 기준

result : val_ext 의 숫자와 비교한 ext 의 해당 컬럼 값이 작은 것만 sort_by 에 따라 오름차순 정렬 .

 


sql 문으로 하면... 편할꺼 같긴한데

 

 

1. ext 값에 따라서 data 의 몇번째 컬럼을 비교할지

2. 비교하여 해당되는 결과를 저장 

3. 정렬 하여 표현

 

ext 에는 문자가 들어가며 이는 data 에 표기가 되어 있지않다

따라서 빈 배열 필요. 

 

 

def solution(data, ext, val_ext, sort_by):
    answer = []
    
    # 어떤 걸로 비교하는지
    ext_list = ["code", "date", "maximum", "remain"]
    ext_idx = ext_list.index(ext)
    
    # 비교해서 작은걸 저장
    for line_data in data:
        if line_data[ext_idx] < val_ext:
            answer.append(line_data)
    
    return answer

 

 

여기까지가 이제 저장 된 부분이며 정렬하는 부분만 남았다. 

 

배열.sort(key=lambda x:x[정렬기준])

 

 

def solution(data, ext, val_ext, sort_by):
    answer = []
    
    # 어떤 컬럼을 비교하는지
    ext_list = ["code", "date", "maximum", "remain"]
    ext_idx = ext_list.index(ext)
    
    # 비교해서 작은걸 저장
    for line_data in data:
        if line_data[ext_idx] < val_ext:
            answer.append(line_data)
    
    # 정렬하려는 컬럼
    sort_idx = ext_list.index(sort_by)
    
    answer.sort(key = lambda x:x[sort_idx])
    
    return answer

'프로그래머스 > 1단계' 카테고리의 다른 글

23. 개인정보 수집 유효기간  (1) 2024.01.22
22. 바탕화면 정리  (0) 2024.01.20
20. 성격 유형 검사하기  (0) 2024.01.20
19. 신규 아이디 추천  (0) 2024.01.19
18. 햄버거 만들기  (0) 2024.01.19