반응형

Python 111

[Python - 프로그래머스] 2023 KAKAO BLIND RECRUITMENT > 택배 배달과 수거하기

https://school.programmers.co.kr/learn/courses/30/lessons/150369#qna 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr Solution 내가 했던 풀이는 다음과 같다. (아래 풀이는 테스트 15번부터 시간초과가 뜬다. 그 외 테스트 케이스는 통과이다.) 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 import numpy as np import math import itertools def fun(del..

[Python - 프로그래머스] 2023 KAKAO BLIND RECRUITMENT > 개인정보 수집 유효기간

문제 설명 고객의 약관 동의를 얻어서 수집된 1~n번으로 분류되는 개인정보 n개가 있습니다. 약관 종류는 여러 가지 있으며 각 약관마다 개인정보 보관 유효기간이 정해져 있습니다. 당신은 각 개인정보가 어떤 약관으로 수집됐는지 알고 있습니다. 수집된 개인정보는 유효기간 전까지만 보관 가능하며, 유효기간이 지났다면 반드시 파기해야 합니다. 예를 들어, A라는 약관의 유효기간이 12 달이고, 2021년 1월 5일에 수집된 개인정보가 A약관으로 수집되었다면 해당 개인정보는 2022년 1월 4일까지 보관 가능하며 2022년 1월 5일부터 파기해야 할 개인정보입니다. 당신은 오늘 날짜로 파기해야 할 개인정보 번호들을 구하려 합니다. 모든 달은 28일까지 있다고 가정합니다. 다음은 오늘 날짜가 2022.05.19일 ..

[Python] Object Detection Mosaic Augmentation :: YOLO v5

Mosaic 이란? Mosaic 기법은 Image Augmentation 기법 중 하나로, 4장의 이미지를 한 장으로 만드는 기법이다. 예를 들면, 다음 4장의 이미지를 다음과 같이 한 장으로 만든다. 각 이미지의 사이즈는 random하게 하여 자유도를 준다. 따라서 전체 이미지가 모두 포함되지 않을 수도 있다. (빨간색 박스는 Ground Truth이다. 알아보기 좋게 같이 그렸다.) 이 기법은 이미지 사이즈가 작아져, 작은 물체가 많아지므로 작은 물체를 Detect하기 어렵다는 YOLO의 단점을 극복 할 수 있도록 도와주며, 1장의 이미지로 4장의 이미지를 학습하는 효과를 주어 적은 batch size로도 학습이 용이하도록 해준다. YOLOv5에 저자가 직접 구현해 놓은 Mosaic 기법을 조금 변형..

AI/Object Detection 2022.06.09

[Python] albumentations 라이브러리를 이용한 Image Agumentation :: Bounding Box 좌표와 함께 이미지 변형하는 방법

albumentations 라이브러리를 이용한 Image Agumentation :: Bounding Box 좌표와 함께 이미지 변형하는 방법 이미 누군가 구현해 놓은 albumentations 라이브러리를 사용해서 Image를 변형시킬 수 있다. 주로 Class가 Imbalance 할 때 적은 수의 Class 이미지를 증강시키는데 사용하거나(Image Agumentation), 꼭 이미지 개수 증강이 아니더라도, 모델의 성능을 높히기 위해 일부러 확률적으로 노이즈를 첨가하는 등의 역할을 한다. Image를 변형시키는 방법에는 색 보정 외에도 이미지를 회전시키거나, 뒤집는 등의 방법이 있는데 이 라이브러리는 Image Object Detection 문제에서 Bounding Box 좌표도 자동으로 함께 이..

AI/Object Detection 2022.05.06

Class 이해하기 :: Class를 쓰는 이유, Class vs function

Class VS Object 먼저 Class와 Object(객체)의 개념에 대해 알아보겠다. 예를 들자면 class는 '인간' 이라는 추상적인 타입이고, object는 '이효리', '유재석' 처럼 실제로 존재하는 객체를 의미한다. '인간'은 이름, 나이, 성별 등의 속성(attribute)이 있고, 숨쉬기, 먹기, 잠자기 등의 행동(method)을 한다. 객체인 '이효리'와 '유재석' 역시 이러한 인간의 특징들을 모두 가지고있다. 여기서 중요한 것은 각 객체는 본인의 고유한 성격을 가진다는 것이다. 만약 '이효리'가 이름을 바꾼다고 해도 '유재석'의 이름은 그대로인 것처럼 말이다. 실제 파이썬에서 예를 들자면 List 라는 타입은 Class를 의미하고, a = list() 혹은 a = [1, 2, 3, ..

Python 2022.04.07

[프로그래머스 - Python] 2020 KAKAO BLIND RECRUITMENT > 문자열 압축

(파이썬으로 코딩테스트 연습) Programmers > 2020 KAKAO BLIND RECRUITMENT > 문자열 압축 https://programmers.co.kr/learn/courses/30/lessons/60057 코딩테스트 연습 - 문자열 압축 데이터 처리 전문가가 되고 싶은 "어피치"는 문자열을 압축하는 방법에 대해 공부를 하고 있습니다. 최근에 대량의 데이터 처리를 위한 간단한 비손실 압축 방법에 대해 공부를 하고 있는데, 문 programmers.co.kr Solution def solution(s): if len(s)==1 : return(1) answer = [] for i in range(1,int(len(s)/2)+1) : split_data = [s[z:z+i] for z in..

[Python - 프로그래머스] 2021 KAKAO BLIND RECRUITMENT > 신규 아이디 추천

(파이썬으로 코딩테스트 연습하기) Programmers > 2021 KAKAO BLIND RECRUITMENT > 신규 아이디 추천 https://programmers.co.kr/learn/courses/30/lessons/72410 코딩테스트 연습 - 신규 아이디 추천 카카오에 입사한 신입 개발자 네오는 "카카오계정개발팀"에 배치되어, 카카오 서비스에 가입하는 유저들의 아이디를 생성하는 업무를 담당하게 되었습니다. "네오"에게 주어진 첫 업무는 새로 programmers.co.kr Solution import re def solution2(new_id) : # step1 new_id = new_id.lower() # step2 new_id = re.sub(r"[^a-zA-Z0-9-_.]","",new_..

[Python - 프로그래머스] 로또의 최고 순위와 최저 순위

(파이썬으로 코딩테스트 연습하기) Programmers > 로또의 최고 순위와 최저 순위 https://programmers.co.kr/learn/courses/30/lessons/77484 코딩테스트 연습 - 로또의 최고 순위와 최저 순위 로또 6/45(이하 '로또'로 표기)는 1부터 45까지의 숫자 중 6개를 찍어서 맞히는 대표적인 복권입니다. 아래는 로또의 순위를 정하는 방식입니다. 1 순위 당첨 내용 1 6개 번호가 모두 일치 2 5개 번호 programmers.co.kr Solution def score(x): # 일치하는 번호 개수 return 6-(max(x,1))+1 # 일치하는 번호가 0개일땐 7등이 아니라 6등 def solution(lottos, win_nums): i = 0 # 일치..

[Python - 프로그래머스] 2022 KAKAO BLIND RECRUITMENT > 신고 결과 받기

파이썬으로 코딩테스트 연습 :: 프로그래머스 > 신고 결과 받기 https://programmers.co.kr/learn/courses/30/lessons/92334 코딩테스트 연습 - 신고 결과 받기 문제 설명 신입사원 무지는 게시판 불량 이용자를 신고하고 처리 결과를 메일로 발송하는 시스템을 개발하려 합니다. 무지가 개발하려는 시스템은 다음과 같습니다. 각 유저는 한 번에 한 명의 programmers.co.kr Solution def solution(id_list, report, k): report = set(report) answer = {x:0 for x in id_list} # 메일 보낼 횟수 reports = {x:0 for x in id_list} # 신고 당한 횟수 for x in rep..

[프로그래머스 - Python] 전화번호 목록

파이썬으로 코딩테스트 연습하기 :: 프로그래머스 > 해시 > 전화번호 목록 https://programmers.co.kr/learn/courses/30/lessons/42577 코딩테스트 연습 - 전화번호 목록 전화번호부에 적힌 전화번호 중, 한 번호가 다른 번호의 접두어인 경우가 있는지 확인하려 합니다. 전화번호가 다음과 같을 경우, 구조대 전화번호는 영석이의 전화번호의 접두사입니다. 구조 programmers.co.kr Solution def solution(phone_book): phone_book.sort() answer = True for i in range(len(phone_book)-1) : x = phone_book[i] y = phone_book[i+1] x_len = len(x) y_l..

반응형