문제 › 030

030. CSV 데이터 처리기

Medium 바이브코딩 MCPCSVData
문제 설명
[문제] CSV(쉼표로 구분된 표 형식 텍스트)를 처리하는 MCP 서버를 구현한다. CSV는 줄바꿈으로 행을, 쉼표로 열을 구분하며, 첫 행은 헤더(열 이름), 나머지는 데이터 행이다. [구현할 함수] - parse_csv(csv_string: str) -> List[List[str]] CSV 문자열을 파싱해 행들의 배열로 반환한다. 각 행은 셀 문자열들의 배열이다. 첫 행이 헤더, 나머지가 데이터다. - filter_rows(data: List[List[str]], column_index: int, value: str) -> int column_index번째 열의 값이 value와 같은 데이터 행의 개수를 반환한다. 헤더(0번 행)는 세지 않는다. - aggregate(data: List[List[str]], column_index: int) -> float column_index번째 열의 숫자들을 모두 더한 합계를 반환한다. 헤더는 제외하며, 숫자로 변환할 수 없는 셀은 건너뛴다. [제약] - 행은 줄바꿈, 열은 쉼표로 구분한다. - filter_rows, aggregate는 헤더 행(첫 행)을 계산에서 제외한다. [예시] parse_csv("a,b\n1,2\n3,4") -> [["a","b"], ["1","2"], ["3","4"]] filter_rows([["a","b"],["1","2"],["3","2"]], 1, "2") -> 2 aggregate([["a","b"],["1","2"],["3","4"]], 1) -> 6 # 2 + 4, 헤더 제외
로그인하고 풀기 AI가 자동 채점하고 즉시 정답·해설을 알려줘요. 무료.