코딩 테스트/Level 2
-
우박수열 정적분코딩 테스트/Level 2 2022. 11. 9. 21:04
https://school.programmers.co.kr/learn/courses/30/lessons/134239 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr def solution(k, ranges): points = [k] while k != 1: if k % 2 == 0: k //= 2 else: k = 3 * k + 1 points.append(k) return [-1 if a > (c := len(points) + b - 1) else sum((points[i] + points[i + 1]) / 2 for i in range(a, c)) fo..
-
택배상자코딩 테스트/Level 2 2022. 11. 9. 18:27
https://school.programmers.co.kr/learn/courses/30/lessons/131704 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 간단하게 스택으로 처리하기 위해 order의 방향을 바꿈... 변화를 체크하기 위해 change 변수를 사용.. 문제를 그대로 코드로... def solution(order): belt = list(range(len(order), 0, -1)) order.reverse() sub_belt = [] truck = [] change = True while change: change = False i..
-
혼자 놀기의 달인코딩 테스트/Level 2 2022. 11. 8. 23:15
https://school.programmers.co.kr/learn/courses/30/lessons/131130 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 문제를 그대로 코드화 하면 답을 구할 수 있는 문제.. 박스를 딕셔너리로 구현. def solution(cards): boxes = {index + 1: card for index, card in enumerate(cards)} groups = [] while boxes: visited = set() pos = list(boxes.keys())[0] while pos not in visited:..
-
롤케이크 자르기코딩 테스트/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, ..