코딩 테스트/Level 2
-
롤케이크 자르기코딩 테스트/Level 2 2022. 11. 8. 18:59
https://school.programmers.co.kr/learn/courses/30/lessons/132265 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 시간 제한 def solution(topping): return sum(1 for i in range(1, len(topping)) if len(set(topping[:i])) == len(set(topping[i:]))) def solution(topping): passed1, passed2 = set(), set() check1, check2 = [], [] for each in toppin..
-
연속 부분 수열 합의 개수코딩 테스트/Level 2 2022. 11. 8. 15:07
https://school.programmers.co.kr/learn/courses/30/lessons/131701 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 파이썬 def solution(elements): temp = set() for i in range(len(elements)): new_list = elements[i:] + elements[:i] for j in range(1, len(elements) + 1): temp.add(sum(new_list[:j])) return len(temp)
-
할인 행사코딩 테스트/Level 2 2022. 10. 28. 00:01
https://school.programmers.co.kr/learn/courses/30/lessons/131127 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr def solution(want, number, discount): answer = 0 to_buy = {a: b for a, b in zip(want, number)} for index in range(len(discount) - 9): temp = to_buy.copy() for each in discount[index:index + 10]: if each in temp: temp[each]..
-
[2017 카카오코드 본선] 단체사진 찍기코딩 테스트/Level 2 2022. 8. 21. 20:05
https://school.programmers.co.kr/learn/courses/30/lessons/1835 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 파이썬 answer = 0 def permute(names, visited: set, data): global answer if len(names) == 8: if check(names, data): answer += 1 return for name in 'ACFJMNRT': if name not in visited: visited.add(name) permute(names + name, visit..
-
2017 카카오코드 예선카카오프렌즈 컬러링북코딩 테스트/Level 2 2022. 8. 21. 09:53
https://school.programmers.co.kr/learn/courses/30/lessons/1829 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 파이썬 def solution(m: int, n: int, picture: list): def visit(x, y, start, prev_color): if (x, y) in visited: return if picture[x][y] == prev_color: visited.add((x, y)) counters[start] += 1 if x + 1 < m: visit(x + 1, y, start, ..
-
[2022 KAKAO TECH INTERNSHIP] 두 큐 합 같게 만들기코딩 테스트/Level 2 2022. 8. 21. 07:10
https://school.programmers.co.kr/learn/courses/30/lessons/118667 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 파이썬 투 포인터와 구간합을 이용해 풀 수 있습니다. 더보기 문제를 처음 읽을 때 다음 부분에서 오해를 했습니다. "한 번의 pop과 한 번의 insert를 합쳐서 작업을 1회 수행한 것으로 간주합니다." 원소를 pop했으면 그 원소를 다른 큐에 바로 insert 해줘야 하기 때문에 이 과정을 작업 1회로 한다는 말이며, 문제의 표현이 맞는데 .... 제 생각의 흐름은 엉뚱한 곳으로... 간단하..
-
다차원 리스트(튜플) 내 숫자의 합 계산하기코딩 테스트/Level 2 2022. 8. 7. 07:42
재귀를 이용해 다차원 리스트(튜플) 내 숫자들의 합을 계산하시오. (문자 제외) [1, (12, 3, [1, 2]), 'r', 1, 2] foo = [1, (12, 3, [1, 2]), 'r', 1, 2] def recursive(array, total): for each in array: if isinstance(each, int): total += each elif isinstance(each, list) or isinstance(each, tuple): total += recursive(each, total) return total print(recursive(foo, 0))
-
3 x n 타일링코딩 테스트/Level 2 2022. 6. 1. 16:34
https://programmers.co.kr/learn/courses/30/lessons/12902 코딩테스트 연습 - 3 x n 타일링 programmers.co.kr 파이썬 def solution(n): dp = [0 for _ in range(n + 1)] dp[2] = 3 dp[4] = 11 for i in range(6, n + 1, 2): dp[i] = (dp[i - 2] * 4 - dp[i - 4]) % 1000000007 return dp[n] 공간의 낭비가 있으니... def solution(n): if n % 2 != 0: return 0 a1, a2 = 3, 11 if n == 2: return a1 elif n == 4: return a2 for i in range(n // 2 -..