알고리즘/[Python] 프로그래머스
[Python/프로그래머스/2020 KAKAO BLIND RECRUITMENT] 괄호 변환
출처 : https://programmers.co.kr/learn/courses/30/lessons/60058 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 문제 풀이 방법 solution(p)를 해결하기 위해서 3개의 함수를 정의했다. check(array) : array(=리스트)를 입력받아서 올바른 괄호 문자인지 아닌지 여부(T/F)를 return 한다. split_uv(array) : array(=리스트)를 입력받아서 u와 v를 분리해준다. u와 v를 return 한다. dfs(array) : array(=리스트)를 입력받아서 올바른 괄호 문자로 ..
[Python/프로그래머스/2020 KAKAO BLIND RECRUITMENT] 문자열 압축
출처 : https://programmers.co.kr/learn/courses/30/lessons/60057 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 새로 알게 된 것 >>> s = "interesting" >>> y = s[ : 1000] >>> print(y) "interesting" cs y = s[:1000] 처럼 문자열 슬라이싱 할 때 인덱스 에러가 일어날 것이라고 생각했었는데 그렇지 않았다. Code *주의 : 문자열(s)의 길이가 1인 경우를 간과했었는데, 아마 테스트 케이스 5번의 경우에 해당하는 것 같다. 문자열의 길이가 1인 경우..
[Python/프로그래머스/2019 카카오 개발자 겨울 인턴십] 튜플
출처 : https://programmers.co.kr/learn/courses/30/lessons/64065 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 문제 풀이 팁 Python 기본 내장 함수 중에, eval() 이라는 함수가 있다. eval() 함수 eval()함수는 문자열을 입력받아서, 실행한 결과값을 돌려주는 함수이다. >>> eval('1+2+3') 6 >>> eval('[1,2,3,4,5]') [1, 2, 3, 4, 5] >>> a = 'i n t e r e s t i n g' >>> eval('a.split()') ['i', 'n', '..
[Python/프로그래머스/2019 카카오 개발자 겨울 인턴십] 크레인 인형뽑기 게임
출처 : https://programmers.co.kr/learn/courses/30/lessons/64061 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 풀이 방법 각 열(=col)을 딕셔너리에 리스트 형태로 저장해서 pop을 하게 되면, 어떤 인형이 뽑히는지를 간단하게 구현할 수 있다. Code def solution(board, moves): ## 딕셔너리 n = 1 dic = {} for next in map(list, zip(*board)): for i in range(len(next)): if next[i]: next = next[i:]; b..
(Python) [2019카카오공채] 후보키
출처 : 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 # code from itertools import chain, combinations def powerset(iterable): "powerset([1,2,3]) --> () (1,) (2,) (3,) (1,2)..
(Python) [2020카카오공채] 외벽 점검
출처 : https://programmers.co.kr/learn/courses/30/lessons/60062 코딩테스트 연습 - 외벽 점검 | 프로그래머스 레스토랑을 운영하고 있는 스카피는 레스토랑 내부가 너무 낡아 친구들과 함께 직접 리모델링 하기로 했습니다. 레스토랑이 있는 곳은 스노우타운으로 매우 추운 지역이어서 내부 공사를 하는 도중에 주기적으로 외벽의 상태를 점검해야 할 필요가 있습니다. 레스토랑의 구조는 완전히 동그란 모양이고 외벽의 총 둘레는 n미터이며, 외벽의 몇몇 지점은 추위가 심할 경우 손상될 수도 있는 취약한 지점들이 있습니다. 따라서 내부 공사 도중에도 외벽의 취약 지점들이 손상되지 않 programmers.co.kr 1. 제한사항 1
(Python) [2020카카오공채] 자물쇠와 열쇠
출처 : https://programmers.co.kr/learn/courses/30/lessons/60059?language=python3 코딩테스트 연습 - 자물쇠와 열쇠 | 프로그래머스 [[0, 0, 0], [1, 0, 0], [0, 1, 1]] [[1, 1, 1], [1, 1, 0], [1, 0, 1]] true programmers.co.kr Hint. 1. 2차원 배열로 이루어진 열쇠를 시계방향으로 90도 회전하려면? 2. 자물쇠와 padding [2020 카카오 공채 문제] 자물쇠와 열쇠¶ In [1]: import copy In [2]: # key를 90도 회전시키기 def rotate(key): rotate_key = copy.deepcopy(key) y = len(key) - 1 for..