[프로그래머스] / [Level 1] / [Python] 둘만의 암호
·
Coding Test/프로그래머스
https://school.programmers.co.kr/learn/courses/30/lessons/155652 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 나의 풀이 a(97) ~ z(122) 까지의 숫자로 표현하기 위해 atoz 함수를 생성하였다. 문자 a에서 5만큼 뒤에 있는 알파벳 [b, c, d, e, f] 들을 큐에 저장하도록 하였고, 큐에 저장된 알파벳이 skip 문자열에 있으면 pop후 새로운 문자열을 append 하도록 구성하였다. from collections import deque def atoz(i: int): return (i..
[2023] / [4인 팀프로젝트] Music Transcription from Silent Videos
·
Project
1. Introduction 온라인 영상을 보고 동일한 곡을 연주하고 싶으나 악보가 없으면 연주하기에 많은 어려움이 있습니다. 기존에 존재하는 악보 생성 모델들은 소리를 기반으로 생성하며, 이는 노이즈가 있거나 다른 악기와 함께 녹음된 경우 사용할 수 없다는 단점이 존재합니다. 따라서 본 프로젝트에서는 이를 해결하기 위해 시각 정보만으로 악보 및 음악 파일을 생성하는 서비스를 개발하였습니다. 2. 개발 배경 및 필요성 온라인 영상을 보고 동일한 곡을 연주하고 싶으나 악보가 없어 연주하기 어려움이 있음 기존 악보 생성 모델들은 음원에 노이즈가 많거나 여러 악기가 함께 녹음된 경우 사용할 수 없다는 단점이 존재 3. 사용된 모델 reference : Audeo: Audio Generation for a Si..
[프로그래머스] / [Level 1] / [Python] 대충 만든 자판
·
Coding Test/프로그래머스
https://school.programmers.co.kr/learn/courses/30/lessons/160586 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr keymap을 탐색하면서 문자의 인덱스를 딕셔너리에 추가해준다. 여기에서 원소의 길이가 '
[프로그래머스] / [Level 1] / [Python] 문자열 나누기
·
Coding Test/프로그래머스
https://school.programmers.co.kr/learn/courses/30/lessons/140108 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 딕셔너리를 사용하여 해결하였다. 첫 글자와 다른 글자를 구별하기 위해 start 변수에 첫 글자를 기록하도록 하였다. from collections import defaultdict def solution(s): answer = 0 start = None dd = defaultdict(int) for s_ in s: if start == None: start = s_ if start == s_:..
[프로그래머스] / [Level 1] / [Python] 숫자 짝꿍
·
Coding Test/프로그래머스
https://school.programmers.co.kr/learn/courses/30/lessons/131128 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 문제 풀이는 쉬웠는데 시간 초과 때문에 많은 시간을 소비했다. 고민 끝에 원인은 정수형을 문자열로 변경하는 곳에서 나타난다는 것을 알 수 있었다. 문제의 제한사항 중 자릿수는 최대 3,000,000 까지 주어지는데, 이 3백만자를 정수형에서 문자열로 변경하려면 상당히 많은 시간이 필요하다. import time a = ["3"] * 3000000 t0 = time.time() a = ''.joi..
[Python] 리스트의 원소 곱 - reduce
·
Python/모듈 & 패키지 & 라이브러리
리스트 내의 모든 원소들을 곱해주는 함수를 간단하게 사용하고 싶어서 찾아보았습니다. 원소들을 더해주는 함수는 sum() 함수를 사용하면 빠르게 결과를 얻을 수 있지만, 곱해주는 함수는 보지 못한 것 같아 이번에 정리하고자 글을 작성합니다. reduce functiools 내장 모듈로, 여러 개의 데이터를 대상으로 주로 누적 집계를 내기 위해서 사용합니다. 기본 문법은 다음과 같습니다. from functools import reduce reduce(집계 함수, 순회 가능한 데이터) example 리스트 내의 모든 원소들을 곱해주는 함수 reduce(lambda x, y: x*y, num_list) 리스트 내의 모든 원소들을 더해주는 함수 reduce(lambda x, y: x+y, num_list)
[2023] / [DACON] 대구 교통사고 피해 예측 AI 경진대회 - Private 34th (0.42688)
·
Competition
https://dacon.io/competitions/official/236193/overview/rules 대구 교통사고 피해 예측 AI 경진대회 - DACON 분석시각화 대회 코드 공유 게시물은 내용 확인 후 좋아요(투표) 가능합니다. dacon.io 개요 더보기 [배경] 이동수단의 발달에 따라 다양한 유형의 교통사고들이 계속 발생하고 있습니다. 한국자동차연구원과 대구디지털혁신진흥원에서는 해당 사고의 원인을 규명하고 사고율을 낮추기 위해, 시공간 정보로부터 사고위험도(ECLO)를 예측하는 AI 알고리즘 발굴을 목표로 본 대회를 개최합니다. ※ ECLO(Equivalent Casualty Loss Only) : 인명피해 심각도 ECLO = 사망자수 * 10 + 중상자수 * 5 + 경상자수 * 3 + 부..
[프로그래머스] / [Level 2] / [Python] 디펜스 게임
·
Coding Test/프로그래머스
https://school.programmers.co.kr/learn/courses/30/lessons/142085 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 무적권 스킬은 heap에 저장되어 있는 원소에 사용한다. 적이 많은 라운드에서 무적권 스킬을 사용해야한다. 반대로 적이 적은 라운드에선 heappop을 사용하여 남은 병사 n과 겨룬다. from heapq import heappush, heappop def solution(n, k, enemy): answer = 0 heap = [] for idx, e in enumerate(enemy): he..
욱근욱
개미는 오늘도 열심히 일을하네