[프로그래머스] / [Level 2] / [Python] 연속 부분 수열 합의 개수
·
Coding Test/프로그래머스
https://school.programmers.co.kr/learn/courses/30/lessons/131701 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr def solution(elements): answer = set() for i in range(1, len(elements)): E = elements + elements[:i-1] for j in range(len(E)-(i-1)): answer.add(sum(E[j:j+i])) answer.add(sum(elements)) return len(answer) print(solution([7,..
[프로그래머스] / [Level 2] / [Python] 귤 고르기
·
Coding Test/프로그래머스
https://school.programmers.co.kr/learn/courses/30/lessons/138476 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr collections 모듈의 Counter 클래스를 사용하여 해결하였습니다. from collections import Counter as C def solution(k, tangerine): answer = 0 for c in C(tangerine).most_common(): k -= c[1] answer += 1 if k
[프로그래머스] / [Level 3] / [Python] 거스름돈
·
Coding Test/프로그래머스
https://school.programmers.co.kr/learn/courses/30/lessons/12907 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr DP를 이용해서 풀이해야하는 것은 알겠는데 도저히 방법이 생각이 나지 않아 다른 사람 풀이를 참고하였습니다. 여기에서 참고하였습니다. def solution(n, money): answer = 0 DP = [1] + [0] * (n) for m in money: for i in range(m, n+1): if i >= m: DP[i] += DP[i - m] return answer print(so..
[프로그래머스] / [Level 3] / [Python] 베스트앨범
·
Coding Test/프로그래머스
https://school.programmers.co.kr/learn/courses/30/lessons/42579 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 2번 15번만 오류를 출력해서 조건문을 살펴 본 결과, 조건 중 다음 부분을 고려하지 않아 생기는 오류입니다. 장르 내에서 재생 횟수가 같은 노래 중에서는 고유 번호가 낮은 노래를 먼저 수록합니다. 위 케이스를 고려하여 코드를 수정 후 해결하였습니다. 테스트 케이스로는 다음을 추가하시면 됩니다. genres : ["classic", "pop", "classic", "classic", "pop"] ..
[프로그래머스] / [Level 2] / [Python] 순위 검색
·
Coding Test/프로그래머스
https://school.programmers.co.kr/learn/courses/30/lessons/72412 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 단순히 2중 for문을 사용해서 하나씩 탐색하는 코드로는 효율성 테스트를 해결할 수 없었다. 다른 사람의 풀이를 참고했고, 해결 방법으로는 Dictonary를 만들어 경우의 수를 담고 정렬된 데이터에서 빠른 검색이 가능한 이진 탐색(Binary Search)를 통해 결과값을 얻습니다. Lower Bound 이진 탐색으로 구현 from itertools import combinations def s..
[Level 2] / [Python] 숫자 블록
·
Coding Test/프로그래머스
https://school.programmers.co.kr/learn/courses/30/lessons/12923 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 첫 번째 시도 무조건 시간 초과가 날 것같다고 생각했고 그래도 확인해보았다. - 당연히 시간 초과 def solution1(begin, end): stack = [0] * (end) row = end // 2 for r in range(1, row+1): for c in range(r*2, end+1, r): if c == 1: stack[c-1] = 0 stack[c-1] = r return s..
[Level 2] / [Python] N-Queen
·
Coding Test/프로그래머스
https://school.programmers.co.kr/learn/courses/30/lessons/12952 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 접근 방법 DFS 중 불가능 한 부분을 더이상 탐색하지 않고 바로 다음 단계를 탐색하는 방법인 백트래깅을 사용합니다. 실패한 코드 한 곳을 탐색하고 다른 곳을 탐색하지 못하였고 그리고 구성 자체부터 잘못 되었습니다. 더보기 def solution(n): answer = [] def DFS(y, x): check = [[y, x]] maps[y][x] = 1 for r in range(n): for..
[Level 2] / [Python] 후보키
·
Coding Test/프로그래머스
https://school.programmers.co.kr/learn/courses/30/lessons/42890 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 문제를 이해하는데 절반의 시간을 보낸 것 같다.. 나의 풀이 from itertools import combinations as C def solution(relation): answer = [] rows = len(relation) columns = [i for i in range(len(relation[0]))] for n in range(1, len(relation[0])+1): check ..
욱근욱
'Coding Test/프로그래머스' 카테고리의 글 목록 (9 Page)