분류 전체보기 (87) 썸네일형 리스트형 방금그곡 (Level 2) 문제 https://school.programmers.co.kr/learn/courses/30/lessons/17683 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 내 풀이 문제를 있는 그대로 구현하려고 노력하였다. 처음에 'C#'을 'c'로 바꿀 생각은 못하였는데, 이 아이디어는 다른 사람들의 풀이에서 가져왔다. split_melody 함수를 만들어 'C#ABD#'일 경우 'cABd'로 바꾸어주는 작업을 하도록 하였다. 그리고 musicinfos를 돌면서 음악 재생 시간, 재생된 전체 멜로디를 구하였다. 만약 m이 새로 만들어진 전체 멜로디 안에 있다.. 압축 (Level 2) 문제 https://school.programmers.co.kr/learn/courses/30/lessons/17684 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 풀이 먼저 딕셔너리를 이용하여 사전 tmp를 만들었다. chr을 사용하여 정수를 유니코드 문자('A' to 'Z')로 변환하였다. 사전에 존재하는 가장 긴 문자열의 마지막 인덱스(tt - 1)를 구하였다. 그리고 answer 배열과 사전을 갱신하였다. msg가 빈 문자열이 되면 반복문이 멈추도록 하였다. def solution(msg): answer = [] tmp = {chr(e + 64).. 다트 게임 (Level 1) 문제 https://school.programmers.co.kr/learn/courses/30/lessons/17682 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 내 풀이 "1S2D*3T"을 [1, 'S', 2, 'D', '*', 3, 'T']와 같이 바꾸는 작업을 하였다. 숫자가 0부터 10까지 있으므로, "10"을 위해 temp에 문자를 더해주는 방식으로 코드를 짰다. 만든 리스트의 이름을 lst로 명명하였다. stack을 사용하여 연산을 하였다. def solution(dartResult): lst = [] temp = "" for dart in.. 비밀지도 (Level 1) 문제 https://school.programmers.co.kr/learn/courses/30/lessons/17681 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 내 풀이 최대한 파이토닉하게 짜려고 노력하였다. 비트 마스킹을 이용하고 싶어서 한 번 사용해보았다. 먼저 비트 마스크에서 '|'를 사용하여 벽인 곳을 추출하였다. 그리고 숫자를 이진수 문자열로 바꾸어주는 bin 함수를 사용하고, 빈 곳을 '0'으로 채워주는 zfill 함수, 그리고 '1'과 '0'을 정답 포맷에 맞게 바꾸어주는 replace 함수를 사용하였다. 파이썬 함수로 덕지덕지 바르는 .. 캐시 (Level 2) 문제 https://school.programmers.co.kr/learn/courses/30/lessons/17680 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 내 풀이 코드를 좀 더 줄여서 예쁘게 만들 수 있었다. 그러나 문제를 문자 그대로 구현하면 아래의 코드와 같이 되기 때문에, 다시 바꾸지 않았다. def solution(cacheSize, cities): answer = 0 queue = [] if cacheSize == 0: return 5 * len(cities) for city in cities: city = city.lower() i.. 프렌즈4블록 (Level 2) 문제 https://school.programmers.co.kr/learn/courses/30/lessons/17679 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 내 풀이 board의 내부의 자료형이 문자열이므로 리스트로 바꾸었다. board 전체를 돌면서 2x2의 블록이 동일한 경우를 찾고, 제거해야 할 블록을 담는 리스트인 rm에 담았다. rm 안에는 중복이 있을 수 있으므로 set으로 변환하여 길이를 구하고 answer에 추가하였다. 만약, set으로 변환된 rm의 길이가 0이면 더 이상 제거할 블록이 없다는 뜻이므로 하던 동작을 중단하면 된다... 후보키 (Level 2) 문제 https://school.programmers.co.kr/learn/courses/30/lessons/42890 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 풀이 combinations를 사용하여 가능한 인덱스 조합을 모두 구한다. 먼저 유일성을 만족하는 키의 집합을 구한다. 문제로 예를 들어 보겠다. "학번"이 키인 경우 유일성을 만족하기 때문에, 집합 {"100", "200", "300", "400", "500", "600"}의 길이는 relation의 row의 개수와 동일하다. 그러나 "이름"이 키인 경우 유일성을 만족하지 않기 때문에, ".. 딥러닝의 발전 딥러닝이 발전하게 된 이유 딥러닝이 발전한 데에는 크게 3가지 이유가 존재한다. 1. [알고리즘] 인공 신경망의 단점인 학습의 불안정성(overfitting, gradient vanishing...)을 해결할 수 있는 알고리즘이 제안되었다. - backpropagation, activation function, weight initialization, batch normalization, residual connection, drop out... 2. [하드웨어] GPU의 발전으로 복잡한 행렬 연산에 소요되는 시간을 크게 단축시켰다. 3. [데이터] 빅데이터를 활용하기 시작하였다. 이전 1 ··· 4 5 6 7 8 9 10 11 다음