전체 글

·AI/머신러닝
원본 자료) https://wikidocs.net/86649 13. 서브워드 토크나이저(Subword Tokenizer) 기계에게 아무리 많은 단어를 학습시켜도, 세상의 모든 단어를 알려줄 수는 없는 노릇입니다. 만약, 기계가 모르는 단어가 등장하면 그 단어를 단어 집합에 없는 단어란 의미에서 ... wikidocs.net 서브워드 토크나이저 하나의 단어를 여러 서브워드로 분리해주는 것, 하나의 단어를 여러 서브워드로 분리해서 단어를 인코딩 및 임베딩하겠다는 의도를 가진 전처리 작업을 Subword Segmenation(서브워드 분리작업) 이라고 한다. Ex1) birthplace = birth + place Ex2) 경찰차 = 경찰 + 차 왜 분리할까? 기계에게 아무리 많은 단어를 학습시켜도, 세상의 ..
https://school.programmers.co.kr/learn/courses/30/lessons/12953 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 풀이 (1차시도) 최소 공배수 = 두 수의 곱 / 두 수의 최대 공약수 위의 식이면 되는줄 알고 n개의 곱과 n개의 숫자들의 최대 공약수를 구했는데 오답이였다. Ex) 1, 2, 3의 최소 공배수 [틀린 방법] (내가 오해하면서 한 방법) 1,2,3의 곱 = 6 1,2,3의 최대 공약수 = 1 6 / 1 = 6 이게 틀린 방법이다. [맞는 방법] x,y,z의 곱 = xyz x,y이 최대 공약수 =..
https://school.programmers.co.kr/learn/courses/30/lessons/42885 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 풀이 (1차 시도) 그냥 적은 몸무게 순으로 보트를 움직이게 할려고 했는데 이건 다시 생각해보니 안됨.... def solution(people, limit): people.sort() print(people) stack = [] count = 0 for i in people: if not stack: stack.append(i) elif sum(stack) + i
https://school.programmers.co.kr/learn/courses/30/lessons/12973 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 풀이 (1차 시도) 테스트에서 거의 실패였다..... 좀 더 효율성 있는 코드로 짜야겠다 def solution(s): answer = -1 frontElement = "" lis = list(s) while True: for i, char in enumerate(lis): if frontElement == char: lis.pop(i) lis.pop(i-1) frontElement = char ..
https://school.programmers.co.kr/learn/courses/30/lessons/12981 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 풀이 def solution(n, words): answer = [0,0] # [탈락하는 사람 번호, 몇 번째 차례에 탈락] # n = 사람 수 # words = 단어 나열 # 탈락 안하면 [0,0] # 중복 확인을 위한 list list = [] #마지막 문자 (일단 첫번째 문자 배정) lastWord=words[0][0] count=0 for i, word in enumerate(words):..
https://school.programmers.co.kr/learn/courses/30/lessons/42842 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 풀이 이런 문제는 규칙성을 먼저 찾으면 되는거 같다. # 노란색 네모 만들기 위해 필요한 수 # 제곱들 # 1, 4, 9, ... # 2와 배수 # 2, 4, 6, 8, 10, ... def solution(brown, yellow): answer = [] answerlist = [] # 제곱일 경우 a = yellow ** 0.5 if a - int(a) == 0: answer = [a+2, a..
https://school.programmers.co.kr/learn/courses/30/lessons/12911 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 풀이 bin 함수로 이진수로 만들었다. count 함수로 1의 갯수를 셌다. while True 로 무한 루프를 만들어서 조건에 맞는 답을 구하면 break로 루프를 탈출! def solution(n): answer = 0 binary = bin(n) binary = binary[2:] count = binary.count("1") while True: n += 1 binaryNext = bin(..
https://school.programmers.co.kr/learn/courses/30/lessons/70129 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 풀이 문자열에서 0을 없애야하기 때문에 replace 함수를 이용했다 0을 제거 후에 문자열 길이가 이진법으로 표현되기 때문에 bin 함수를 사용했다 이진법 구현을 위해서는 bin 함수나 format 함수를 사용하면 된다. 그후 while True로 무한 반복 시킨다음에 s가 1이 되면 break하기. 그 과정에서 count를 구해주면 답 완성 def solution(s): answer = [] ..
찌르비
아주 쉽게 정리한 블로그