반응형
전체 글

전체 글

    파이썬으로 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..

    [swea]2056. 연월일 달력, 파이썬(python)

    연월일 순으로 구성된 8자리의 날짜가 입력으로 주어졌을 때 해당 날짜의 유효성을 판단하는 문제이다 if & else문을 통하여 1~12월을 벗어나거나 2월에서 28일을 벗어나는 등의 상황에서 유효하지 않다고 처리할 수 있겠지만 처리할 케이스가 많고 길어질 것 같아 datetime 라이브러리를 사용하였다 datetime.date와 try&except를 통해 유효하지않으면 -1 유효하면 형식에 맞게 출력하는 방식으로 작성하였다 통과하긴 했는데 실제시험에서도 datetime 라이브러리가 사용가능할 지 아닐지는 잘 모르게따 import datetime # import sys # sys.stdin = open("input.txt", "r") T = int(input()) for ct in range(1, T+1)..