Programmers / 2단계 / 연속 부분 수열 합의 개수 / python
·
코딩테스트/programmers (python)
코딩테스트 연습 - 연속 부분 수열 합의 개수 | 프로그래머스 스쿨 (programmers.co.kr) 나의 풀이 . 모범 답안 def solution(elements): answer = 0 cycle = elements + elements s = set() for i in range(len(elements)): for j in range(len(elements)): s.add(sum(cycle[i:i+j])) return len(s) 주어진 원소를 두 배 해서 붙인 다음 길이에 제한을 두어 문제 해결 ★ set() - add() 활용하기
Programmers / 2단계 / 귤 고르기 / python
·
코딩테스트/programmers (python)
코딩테스트 연습 - 귤 고르기 | 프로그래머스 스쿨 (programmers.co.kr) 나의 풀이 . 모범 답안 def solution(k, tangerine): answer = 0 a={} for i in tangerine: if i in a: a[i]+=1 else: a[i]=1 a = dict(sorted(a.items(), key=lambda x: x[1], reverse=True)) for i in a: if k> Counter(["hi", "hey", "hi", "hi", "hello", "hey"]) Counter({'hi': 3, 'hey': 2, 'hello': 1}) Counter 생성자에 문자열을 인자로 넘기면 각 문자가 문자열에서 몇 번씩 나타나는지를 알려주는 객체가 반환됨. >>>..
Programmers / 2단계 / 예상 대진표 / python
·
코딩테스트/programmers (python)
코딩테스트 연습 - 예상 대진표 | 프로그래머스 스쿨 (programmers.co.kr) 나의 풀이 . 모범 답안 def solution(n,a,b): round = 0 while a != b: round += 1 a = (a+1) // 2 b = (b+1) // 2 return round
Programmers / 2단계 / 점프와 순간 이동 / python
·
코딩테스트/programmers (python)
코딩테스트 연습 - 점프와 순간 이동 | 프로그래머스 스쿨 (programmers.co.kr) 나의 풀이 . 모범 답안 def solution(n): answer = 1 while n > 1: answer += n % 2 n = n // 2 return answer def solution(N): return bin(N).count('1') N이 2의 제곱이면 처음 점프를 제외하고는 순간 이동으로 갈 수 있음 → 1이 하나인 이진수 건전지 사용량은 N을 이진수로 변환했을 때의 1의 개수
[ 스택 / 큐 ] Programmers / 올바른 괄호 / python
·
코딩테스트/programmers (python)
코딩테스트 연습 - 올바른 괄호 | 프로그래머스 스쿨 (programmers.co.kr)  나의 풀이 (92.3점 실패 / 시간 초과)def solution(s): stack=[] if s[0]==')' or s[-1]=='(': return False for i in s: if i=='(': stack.append(i) else: stack.pop() if len(stack)==0: return True return False  모범 답안def solution(s): stack = [] for i in s: if i == '(': st..
[ 스택 / 큐 ] Programmers / 기능개발 / python
·
코딩테스트/programmers (python)
코딩테스트 연습 - 기능개발 | 프로그래머스 스쿨 (programmers.co.kr) 나의 풀이from collections import dequedef solution(progresses, speeds): day = deque() result=[] state = zip(progresses, speeds) for p, s in state: if (100-p)%s!=0: day.append((100-p) // s + 1) else: day.append((100-p) // s) ... return result100%가 될 때까지의 기간을 담은 리스트까지만 출력 / 배포 순서 출력을 위해 큐를 이용해 ..
[ 스택 / 큐 ] Programmers / 같은 숫자는 싫어 / python
·
코딩테스트/programmers (python)
코딩테스트 연습 - 같은 숫자는 싫어 | 프로그래머스 스쿨 (programmers.co.kr) 나의 풀이def solution(arr): stack = [] for i in arr: if len(stack) == 0: stack.append(i) elif stack[-1] != i: stack.append(i) return stack
Programmers / 2단계 / 멀리 뛰기 / python
·
코딩테스트/programmers (python)
코딩테스트 연습 - 멀리 뛰기 | 프로그래머스 스쿨 (programmers.co.kr) 나의 풀이 . 모범 답안 def solution(n): a, b = 0,1 for i in range(n) : a,b = b, a+b return b % 1234567 규칙성을 찾으면 단순히 피보나치 수열을 이용하여 풀 수 있는 문제였다.