문제풀기/프로그래머스(26)
-
프로그래머스 : 2020 카카오 공채 블록 이동하기
https://programmers.co.kr/learn/courses/30/lessons/60063 코딩테스트 연습 - 블록 이동하기 [[0, 0, 0, 1, 1],[0, 0, 0, 1, 0],[0, 1, 0, 1, 1],[1, 1, 0, 0, 1],[0, 0, 0, 0, 0]] 7 programmers.co.kr DFS를 곁들인 빡구현...이다 그냥 잘 돌려주면서 이동시켜주면 된다. 의외로 생각보다는 어렵지는 않았다. 근데 시간은 오래걸림...ㅎ 한 시간 조금 넘게 걸렸다....ㅠㅠ import heapq def solution(board): answer = 0 n = len(board) visitied = [[0 for _ in range(n)] for _ in range(n)] visits = [..
2021.10.14 -
★프로그래머스 2021 카카오 채용연계형 인턴십 표 편집
https://programmers.co.kr/learn/courses/30/lessons/81303 코딩테스트 연습 - 표 편집 8 2 ["D 2","C","U 3","C","D 4","C","U 2","Z","Z"] "OOOOXOOO" 8 2 ["D 2","C","U 3","C","D 4","C","U 2","Z","Z","U 1","C"] "OOXOXOOO" programmers.co.kr 처음 풀이 방법 단순하게 구현으로 풀이하였다. 역시 시간 초과..... def solution(n, k, cmd): answer = "" deleted = [False] * (n) delete = [] move = 0 for cstr in cmd: if len(cstr) > 1: command, index = c..
2021.10.13 -
프로그래머스 베스트 앨범
https://programmers.co.kr/learn/courses/30/lessons/42579 코딩테스트 연습 - 베스트앨범 스트리밍 사이트에서 장르 별로 가장 많이 재생된 노래를 두 개씩 모아 베스트 앨범을 출시하려 합니다. 노래는 고유 번호로 구분하며, 노래를 수록하는 기준은 다음과 같습니다. 속한 노래가 programmers.co.kr 파이썬의 heapq는 최소 힙이기 때문에 정렬에 사용할 값에 마이너스를 붙여주면 최대 힙으로 활용할 수 있다. import heapq def solution(genres, plays): answer = [] genre_array = dict() genre_total = [] for i in range(len(genres)): if genres[i] not in..
2021.10.12 -
프로그래머스 위장
https://programmers.co.kr/learn/courses/30/lessons/42578 코딩테스트 연습 - 위장 programmers.co.kr 고등학생 때 배우는 '확률과 통계'를 구현하는 느낌이다. 각 옷의 type별로 가지고 있는 옷 개수를 세고, 옷 개수 +1의 곱들에서 아무것도 안입은 경우 한 번을 빼주면 된다. def solution(clothes): answer = 1 cloth_dict = dict() for cloth,types in clothes: if types in cloth_dict: cloth_dict[types] += 1 else: cloth_dict[types] = 2 for t in cloth_dict: answer *= cloth_dict[t] answer ..
2021.10.12 -
프로그래머스 : 괄호 회전하기
https://programmers.co.kr/learn/courses/30/lessons/76502 코딩테스트 연습 - 괄호 회전하기 programmers.co.kr 자료구조 중 Stack을 이용하는 문제이다. from collections import deque def solution(s): answer = 0 right = ["(","[","{"] left = [")","]","}"] for i in range(len(s)): stack = deque([]) strs = deque(list(s[:])) result = True while strs: now = strs.popleft() if now in left: now_index = left.index(now) if len(stack) > 0: c..
2021.10.08 -
프로그래머스 : 후보키
https://programmers.co.kr/learn/courses/30/lessons/42890 코딩테스트 연습 - 후보키 [["100","ryan","music","2"],["200","apeach","math","2"],["300","tube","computer","3"],["400","con","computer","4"],["500","muzi","music","3"],["600","apeach","music","2"]] 2 programmers.co.kr itertools의 combinations를 이용해서 완전 탐색을 하면 된다. from itertools import combinations def solution(relation): answer = 0 already = [] columns..
2021.10.08