Category
K-디지털트레이닝 해커톤 후기
4.26 ~ 6.22 두달간 진행되었던 제 2회 K-디지털 트레이닝 해커톤 참가 후기 !.! 원래 이 대회에 대해 알고있어 참여하게 된 것은 아니였고 부스트캠프 진행 중 우연히 알게 되었고 참여해보면 좋은 기회가 될 것 같아 팀원들과 함께 참여하게되었다. 고용노동부와 한국기술교육대학교 직업능력심사평가원에서 주최 및 주관하였고 아래와 같은 일정 및 주제로 진행이되었다. 해커톤 신청을 위해 아이디어 개발기획서를 제출해야했고 이를 바탕으로한 서면심사 후 참가 여부가 결정되었는데 우리팀의 도메인인 컴퓨터비전과 위의 디지털 뉴딜에 관련된걸 어떻게 접목시켜야할지 부터 고비였다. 고민하던 중 DNA 생태계 강화 - ‘AI를 이용한 실시간 작물 피해 알림 서비스’ 로 스마트팜 산업에 기여할 수 있는 시스템 개발을 주제..
파이썬으로 S3 bucket의 다양한 정보를 가져와보자(오브젝트 url, 생성시간 etc...)
파이썬을 이용해 S3 bucket의 정보를 가져와 보자! S3는 AWS에서 제공하는 Simple Storage Service이다. 간단하게 그냥 편리한 저장소라고 생각하자! S3에는 object가 bucket에 저장되는데 저장(또는 업로드)만 해놓으면 외장하드랑 다를바가 없다 예를 들어 이미지를 업로드 하였을경우 이 이미지 오브젝트에는 생성시간, 이미지url, 이미지 type등 다양한 정보가 기록되고 저장된 정보를 다양한 방법으로 사용할 수도 있다. 그러나, 사진이 한 두장인 경우 이러한 정보를 일일이 복사 붙여넣기를 하든 타이핑을 하든 상관없지만 갯수가 많아지거나 어떤 프로젝트를 만들고 싶을 때는 곤란한 일이 생길 것이다. 아래 깃허브에는 파이썬을 사용하여 정보를 가져오는 코드들이 작성되어 있다. 큰 ..
EDA란?
EDA가 뭔가요❓ 며칠전 EDA가 무엇인가? 라는 질문을 들었다 기계적으로 결측치나 분포등을 파악해보고 이를 활용하는 것이다 대답을 하였는데 문득 EDA란 진짜 무엇일까라는 생각을 갖게되었다. 단순히 파이썬이나 R을 통해 결측치를 파악하고 화려하고 예쁜 데이터 분포 그래프를 그려보는게 EDA의 목적일까? 왜 하나요❓ 근본적인 생각으로 돌아가서 과연 EDA가 대체 무엇이고 왜 하는지부터 생각해보면 좋을 것 같다 EDA는 Exploratory Data Analysis(탐색적 데이터 분석)의 약자로 데이터를 이해하려는 과정이다 이과정 속에서는 주어진 수 많은 데이터에서 실제로 데이터가 어떻게 생겼는지? 주어진 데이터 타입의 특성은 무엇인지? 메타데이터의 분포는 어떻게 되는지? 그게 과연 어떤 특징과 어떤 의미..
[프로그래머스]체육복, 파이썬(python)
문제링크 ✨Idea 여분의 체육복이 있는 경우도 도난당하게 된다면 빌려줄 수가 없으므로 lost와 reserve에서 서로 겹치는건 뺀다 그 후 체육복이 있는 인덱스는 True로 처리 후 여분의 학생이 앞 뒤를 체크하며 빌려주면 된다 그러나 아래의 소스코드에서 오름차순 과정이 없다면, 먼저 좌쯕체크 후 우측을 체크하는과정만을 거쳐 예외 케이스가 발생한다 예를 들어 아래와 같은 상황이다 n = 5 lost = [2, 4], reserve = [3, 1] 정상적인 상황이라면 1번 학생이 2번에게 3번 학생이 4번에게 빌려 줄 수 있으나, 정렬을 하지 않는다면 3번이 2번에게 빌려주어 4번 학생은 빌릴 수가 없게되므로 처음에 reserve를 정렬하는 과정이 필요하다 (2021년 8월 30일 테스트케이스가 추가되..
[python, 파이썬] sum 함수를 이용한 차원축소 및 병합
sum 함수를 이용한 차원축소 및 병합 여태까지 알던 파이썬 내장함수인 sum의 기능은 단순히 iterable한 객체들의 합을 리턴해주는 걸로만 알고있었다. 내부 docs를 봐도 아래처럼 start값을 지정해주면 iterable의 합과 start를 더해준다까지만 나와있을 뿐이다. 그런데 sum을 이용해 리스트의 차원을 낮추고 병합까지 하는 기능을 이용할 수 있다! sum(다차원 리스트, [ ])를 통해 차원을 축소하고 병합까지 가능하다. 아래는 예시이다 arr = [[1, 0, 3], [4, 0, 6]] print(sum(arr, [])) # 결과 : [1, 0, 3, 4, 0, 6] arr = [[[1, 0, 3], [0, 1, 2]], [[4,5,6], [7,8,9]]] print(sum(arr, [..
[swea]1204. 최빈수 구하기, 파이썬(python)
문제 링크 학생들의 점수의 최빈값을 구하는 문제이다 Idea : 계수정렬, 최빈값이 여러개일 때 인덱스 찾기 학생 점수의 최대값이 100이라고 계수정렬할 리스트를 [0]*101로 설정하지 않아도 된다, 받은 리스트 중 제일 큰 값에 1 만 더한 길이만큼으로 생성해도 충분하기 때문! 파이썬의 max와 index를 이용하면 제일 큰 값 중 제일 작은 인덱스를 알려주기에 인덱스가 여러개일 경우 아래와 같은 방법을 사용할 수 있다. T = int(input()) for i in range(1, T+1): n = int(input()) arr = list(map(int, input().split())) cnt_arr = [0] * (max(arr) + 1) for j in arr: cnt_arr[j] += 1 t..
윈도우환경 파이참에서 리눅스 터미널 사용하기
필요조건 WSL을 통해 Ubuntu가 깔려있어야 합니다...! 방법은 굉장히 쉽습니다, 파이참 내에 File-Settings(또는ctrl+alt+s )로 이동 후 왼쪽 Tools에서 Terminal을 선택하여 줍니다 Shell path가 cmd.exe로 되어있을텐데 이를 wsl.exe로 변경하여 줍니다 끝!
[swea]1983. 조교의 성적 매기기, 파이썬(python)
문제링크 🎃Idea 목표는 원하는 학생의 번호가 주어지면 해당 학생의 성적을 조회하고싶다 학생들의 총점과 함께 학생번호 조회를 위해 인덱스를 동시에 저장한다 총점이 높은 순으로 정렬한다 여기서 조금 헤맸는데 리스트안에 [(인덱스, 점수), ..., (인덱스, 점수)] 로 저장을 했기에 원하는 위치와 순서 조회가 쉽지않았다, 이를 위해 차피 점수순으로 정렬을 해놨기에 tmp에 인덱스를 따로 빼주고 몇등인지 조회를 하기 위해 tmp.index(k)를 사용 해당 학점을 받는 학생 수가 (학생수 //10)로 정해져 있기에 이를 나눠준 후 학점을 계산한다 소스코드 score = ["A+", "A0", "A-", "B+", "B0", "B-", "C+", "C0", "C-", "D0"] for tc in range..