https://school.programmers.co.kr/learn/courses/30/lessons/76502 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 풀이 문자열을 회전 시킬 때는 for문으로 queue 방식으로 회전 시켜 주었다. 그리고 규칙에 맞는 괄호를 찾는 방식으로는 stack 방식을 사용했다. 마지막으로 dictionary를 선언해서 괄호의 짝에 맞게 정의를 해주었다. def solution(s): count = 0 stack = [] Dict = {'{' : '}', '[' : ']', '(' : ')'} saveValue = "" ..
전체 글
https://school.programmers.co.kr/learn/courses/30/lessons/64065 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 풀이 한번에 풀긴 했지만 약간 너무 막 쓴 코드인거같다.... 다른 사람들 적은거 보면 엄청 짧게 가능하기도 하다. def solution(s): answer = [] stack = [] s = s[1:-1] for i in s: if i == '{': continue elif i == '}': stack = list(map(int, stack)) # 리스트의 모든 string 요소를 int로 바..
https://school.programmers.co.kr/learn/courses/30/lessons/12949 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 풀이 행렬의 곱셈 방식만 알면 쉽게 구현 가능 "가로 곱하기 세로" def solution(arr1, arr2): answer = [] for rowindex, row in enumerate(arr1) : list = [] for k in range(len(arr2[0])): hi = 0 for index, j in enumerate(row): hi += j * arr2[index][k] list..
https://school.programmers.co.kr/learn/courses/30/lessons/42747 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 풀이 (1차 시도) 쉬운 문제인거같다. def solution(citations): answer = 0 n = len(citations) for i in range(1, n+1): count = 0 for j in citations: if j >= i: count += 1 if count == i: answer = count return answer 풀이 (2차 시도) def solution(ci..
https://school.programmers.co.kr/learn/courses/30/lessons/12980 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 풀이 풀었는데 원리를 1도 모르겠다..... 역시 divmod를 사용하는 문제는 기본적을 이해하기가 어렵다... def solution(n): ans = 0 while True: n, r= divmod(n, 2) if (r == 1): ans += 1 if (n == 0): break return ans
https://school.programmers.co.kr/learn/courses/30/lessons/12985 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 풀이 (1차 시도) 어떻게 풀지에 대한 고민으로 시간을 엄청 썼다... 아래와 같이 생각하면 엄청 쉽게 풀 수 있는거 같다. 1 2 3 4 5 6 7 8 (height = 1) 1 2 3 4 (height = 2) 1 2 (height = 3) 1 (height = 4) 하지만 아직 에러가 있다............. # n = 참가자 수 # a = 주인공 번호 # b = 라이벌 번호 # 1 2 ..
원본 자료) 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이 최대 공약수 =..