Programmers / 2단계 / 괄호 변환 / python / 2020 KAKAO BLIND RECRUITMENT
·
코딩테스트/programmers (python)
https://school.programmers.co.kr/learn/courses/30/lessons/60058  코드def check(s): stack = [] for i in s: if i == '(': stack.append(i) else: if len(stack) == 0: return False stack.pop() return Truedef divide(s): left, right = 0,0 for i in range(len(s)): if s[i] == '(': left += 1 else: r..
Programmers / 3단계 / 스티커 모으기(2) / python
·
코딩테스트/programmers (python)
https://school.programmers.co.kr/learn/courses/30/lessons/12971  나의 풀이 (테스트 실패)def solution(sticker): num1 = 0 num2 = 0 maxN = 0 if len(sticker) == 1: return "".join(sticker) if len(sticker) % 2 == 1: for i in range(0, len(sticker)-1, 2): num1 += sticker[i] else: for i in range(0, len(sticker), 2): num1 += sticker[i] for ..
Programmers / 3단계 / 불량 사용자 / python / 2019 카카오 개발자 겨울 인턴십
·
코딩테스트/programmers (python)
https://school.programmers.co.kr/learn/courses/30/lessons/64064  모범 답안from itertools import productdef check(str1, str2): if len(str1) != len(str2): return False for i in range(len(str1)): if str1[i] == "*": continue if str1[i] != str2[i]: return False return Truedef solution(user_id, banned_id): answer = set() result = [[] for i in range..
Programmers / 3단계 / 숫자 게임 / python
·
코딩테스트/programmers (python)
https://school.programmers.co.kr/learn/courses/30/lessons/12987  코드 (테스트 실패)def solution(A, B): answer = 0 A.sort(reverse=True) B.sort(reverse=True) for i in range(len(A)): if A[i]   재시도 (통과)def solution(A, B): answer = 0 A.sort(reverse=True) B.sort(reverse=True) i = 0 for a in A: if a  문제에서 A팀과 B팀의 점수를 내림차순으로 정렬해 비교하였으나, 같은 인덱스끼리만 비교하여 실패하였다.예를 들어A팀의 점수가..
Programmers / 3단계 / 기지국 설치 / python
·
코딩테스트/programmers (python)
https://school.programmers.co.kr/learn/courses/30/lessons/12979 코드 def solution(n, stations, w): answer = 0 std = w * 2 + 1 start = 1 for s in stations: if s - w - start > 0: answer += (s - w - start)//std if (s - w - start) % std: answer += 1 start = s + w + 1 if n - start + 1 > 0: answer += (n - start + 1) // std if (n - start + 1) % std: answer += 1 return answer 전파의 도달거리 w의 의미는 w*2+1 크기 만큼의 ..
Programmers / 2단계 / 전력망을 둘로 나누기 / python
·
코딩테스트/programmers (python)
https://school.programmers.co.kr/learn/courses/30/lessons/86971 코드 def solution(n, wires): ans = n for sub in (wires[i+1:] + wires[:i] for i in range(len(wires))): s = set(sub[0]) [s.update(v) for _ in range(len(sub)) for v in sub if set(v) & s] ans = min(ans, abs(2 * len(s) - n)) return ans from collections import deque def bfs(graph, start, visited): # 큐(Queue) 구현을 위해 deque 라이브러리 사용 queue = de..
Programmers / 2단계 / 메뉴 리뉴얼 / python
·
코딩테스트/programmers (python)
https://school.programmers.co.kr/learn/courses/30/lessons/72411 모범 답안 import collections from itertools import combinations def solution(orders, course): result = [] for course_size in course: order_combinations = [] for order in orders: order_combinations += combinations(sorted(order), course_size) most_ordered = collections.Counter(order_combinations).most_common() result += [ k for k, v in mo..
Programmers / 2단계 / 124 나라의 숫자 / python
·
코딩테스트/programmers (python)
코딩테스트 연습 - 124 나라의 숫자 | 프로그래머스 스쿨 (programmers.co.kr) 모범 답안 def solution(n): result = [] while n: t = n % 3 if not t: t = 4 n -= 1 result.append(str(t)) n //= 3 return ''.join(result[::-1]) def solution(n): num = ['1', '2', '4'] result='' while n > 0: n -= 1 result = num[n % 3] + result n //= 3 return result 나오는 숫자가 3개 밖에 없으므로 3진수를 이용하여 변환하면 구현할 수 있다. 일반 3진수는 0이 있어서 일반적인 숫자 체계처럼 가장 앞의 숫자로 0이 올 수..