Загружаем каталог…
Загружаем каталог…
🔎 문제 설명 AI 엔지니어인 현식이는 데이터를 분석하는 작업을 진행하고 있습니다. 데이터는 코드 번호(code), 제조일(date), 최대 수량(maximum), 현재 수량(remain)으로 구성되어 있으며 현식이는 이 데이터들 중 조건을 만족하는 데이터만 뽑아서 정렬하려 합니다. 예를 들어 다음과 같이 데이터가 주어진다면 data = [[1, 20300104, 100, 80], [2, 20300804, 847, 37], [3, 20300401, 10, 8]] 이 데이터는 다음 표처럼 나타낼 수 있습니다. code date maximum remain 1 20300104 100 80 2 20300804 847 37 3 20300401 10 8 주어진 데이터 중 제조일이 20300501 이전인 물건들을 현재 수량이 적은 순서로 정렬해야 한다면 조건에 맞게 가공된 데이터는 다음과 같습니다. data = [[3, 20300401, 10, 8], [1, 20300104, 100, 80]] 정렬한 데이터들이 담긴 이차원 정수 리스트 data와 어떤 정보를 기준으로 데이터를 뽑아낼지를 의미하는 문자열 ext, 뽑아낼 정보의 기준값을 나타내는 정수 val_ext, 정보를 정렬할 기준이 되는 문자열 sort_by가 주어집니다. data에서 ext 값이 val_ext보다 작은 데이터만 뽑은 후, sort_by에 해당하는 값을 기준으로 오름차순으로 정렬하여 return 하도록 solution 함수를 완성해 주세요. 단, 조건을 만족하는 데이터는 항상 한 개 이상 존재합니다. 제한사항 1 ≤ data의 길이 ≤ 500 data[i] 의 원소는 [코드 번호(code), 제조일(date), 최대 수량(maximum), 현재 수량(remain)] 형태입니다. 1 ≤ 코드 번호 ≤ 100,000 20000101 ≤ 제조일 ≤ 29991231 data[i][1] 은 yyyymmdd 형태의 값을 가지며, 올바른 날짜만 주어집니다. 1 ≤ 최대 수량 ≤ 10,000 1 ≤ 현재 수량 ≤ 최대 수량 ext 와 sort_by 의 값은 다음 중 하나를 가집니다. "code" "date" "maximum" "remain" 순서대로 코드 번호, 제조일, 최대 수량, 현재 수량을 의미합니다. val_ext 는 ext 에 따라 올바른 범위의 숫자로 주어집니다. 정렬 기준에 해당하는 값이 서로 같은 경우는 없습니다. 입출력 예 data = [[1, 20300104, 100, 80], [2, 20300804, 847, 37], [3, 20300401, 10, 8]] ext = "date" val_ext = 20300501 sort_by = "remain" result = [[3, 20300401, 10, 8], [1, 20300104, 100, 80]] 💡 코드 풀이 핵심 로직 1 문자열로 주어진 열 이름을 실제 인덱스로 바꾸기 2 ext 열의 값이 val_ext 보다 작은 행만 남기기 3 sort_by 열 기준으로 오름차순 정렬하기 🧐 정답 def solution(data, ext, val_ext, sort_by): index = { 'code' : 0, 'date' : 1, 'maximum' : 2, 'remain' : 3, } answer = [row for row in data if row[index[ext]] < val_ext] answer.sort(key=lambda row: row[index[sort_by]]) ✏️ 내가 놓친 것 문자열로 주어진 ext , sort_by 를 실제 데이터의 열 인덱스와 연결하는 방법을 떠올리지 못했다. 이 문제처럼 열 이름이 문자열로 주어지고, 각 열의 위치가 정해져 있는 경우에는 딕셔너리를 사용해 "열 이름": 인덱스 형태로 매핑하면 쉽게 처리할 수 있다. 다음에 비슷한 문제가 나오면 문자열 조건을 바로 비교하려 하지 말고, 먼저 딕셔너리를 이용해 실제 인덱스로 변환할 수 있는지 생각해보기.
То, что RADAR обнаружил и классифицировал для этой возможности. Это опубликованный источником текст, а не подтверждение, что предложение ещё действует.
프로그래머스 PCCE 파이썬 기출문제 10번 문제. 🔎 문제 설명 AI 엔지니어인 현식이는 데이터를 분석하는 작업을 진행하고 있습니다. 데이터는 코드 번호(code), 제조일(date), 최대 수량(maximum), 현재 수량(remain)으로 구성되어 있으며 현식이는 이 데이터들 중 조건을 만족하는 데이터만 뽑아서 정렬하려 합니다. 예를 들어 다음과 같이 데이터가 주어진다면 data = [[1, 20300104, 100, 80], [2, 20300804, 847, 37], [3, 20300401, 10, 8]] 이 데이터는 다음 표처럼 나타낼 수 있습니다. code date maximum remain 1 20300104 100 80 2 20300804 847 37 3 20300401 10 8 주어진…