파이썬(16)
-
[프로그래머스/python] 파일명 정렬
파일명 정렬 2018 KAKAO BLIND RECRUITMENT 문제 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 풀이 isdigit()을 통해서 Head, Number, TAIL 파트를 구별하였고 분리해서 배열로 넣어 lambda를 통한 정렬을 진행했습니다. 파일명을 받아서 분리를 진행합니다. img12.png 의 경우 ["img12.png","img",12,".png"] 가 되도록 만들었습니다. 분리가 된 배열들을 lambda를 통해서 정렬을 진행합니다. 주의해야할 점은 가운데 Number 파트가 최대 연속된 5글자라는 점입니다. 풀이코드..
2022.08.15 -
[프로그래머스/python] 멀리 뛰기
멀리 뛰기 연습문제 문제 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 풀이 다이나믹 프로그래밍 문제로서 점화식을 파악하고 진행했습니다. 1칸을 갈 경우 1가지, 2칸을 갈 경우 (1,1), (2)로 2가지 입니다. 3칸을 갈 경우 1번째 칸에서 2칸을 갈 경우와 2번째 칸에서 1칸을 갈 경우이기 때문에 이전 칸들의 경우의 수 합이 됩니다. [ 0, 1 , 2, (1+2) ] [ 0, 1, 2, 3, (2+3) ] [ 0, 1, 2, 3, 5, (3+5) ] .... 풀이코드 def solution(n): li =[0,1,2] if n
2022.08.15 -
[프로그래머스/python] 프렌즈4블록
프렌즈4블록 2018 KAKAO BLIND RECRUITMENT 문제 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 풀이 블럭 터뜨리기 모든 블럭을 돌아가면서 주변 3개의 블럭이 같은지 체크를 진행합니다. 체크된 블럭의 경우 집합에 추가를 하고 모든 블럭을 다 돌면 집합의 블럭의 좌표를 'b' 로 만듭니다. 블럭 떨어뜨리기 블럭의 세로 순환을 돌며 밑에서부터 체크를 합니다. 블럭의 밑에서 부터 올라가면서 'b'를 만나게 된다면 그 위에 블럭과 교체를 진행합니다. 위 과정을 반복 터뜨릴 좌표가 저장된 집합에 아무것도 없다면 마칩니다. 풀이코드 d..
2022.08.15 -
[프로그래머스/python] 방문 길이
방문 길이 Summer/Winter Coding(~2018) 문제 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 풀이 지나간 길을 (좌표X, 자표Y, 방향) 으로 체크를 합니다. 예시로 (0,0) 에서 윗길은 (0,0,Up) 로 표현이 가능하며 (0,1,Down) 으로 두가지의 표현이 생깁니다. 이 두가지의 좌표를 매번 이동마다 집합에 추가를 합니다. 중복된 길의 경우 좌표가 집합에 추가되기 때문에 중복되는 길은 고려하지 않습니다. 풀이코드 def solution(dirs): answer = 0 tmp = [] for i in dirs: tmp..
2022.08.15 -
[프로그래머스/python] 자물쇠와 열쇠
자물쇠와 열쇠 2020 KAKAO BLIND RECRUITMENT 문제 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 풀이 key의 돌기 부분을 lock 홈에 하나 씩 맞춰보고 맞지 않다면 90도 회전하면서 풀었습니다. key의 돌기를 따로 배열에 빼놓고 lock 홈을 따로 배열로 빼놨습니다. key의 돌기 중 한 개를 선택해서 lock 홈에 맞춰봅니다. 여기서 맞춰볼 때 key 돌기 배열 안의 요소는 전부 이동합니다. ( 돌기와 홈의 거리 만큼!) 맞춰볼 때 lock의 범위를 넘어가는 key의 돌기는 제외했습니다. 딱 맞는다면 lock과 ke..
2022.08.10 -
[프로그래머스] 가장 먼 노드 (파이썬 python)
코딩테스트 - 그래프 - 가장 먼 노드 [Level3] 문제링크 : 가장 먼 노드 코딩테스트 연습 - 가장 먼 노드 6 [[3, 6], [4, 3], [3, 2], [1, 3], [1, 2], [2, 4], [5, 2]] 3 programmers.co.kr 문제풀이 그래프 문제입니다. 기존 BFS 풀이를 가지고 풀면 7,8,9 케이스에서 "시간 초과"를 만나게 됩니다. 그러기 위해서 그래프의 방법 중 "인접 행렬" 이 아닌 "인접 리스트"를 사용해야 합니다. list = [[0 for _ in range(n+1)] for _ in range(n+1)] 위 행렬 생성 코드 작성만 해놔도 시간 초과가 걸립니다. 인접 행렬의 경우 연결할 수 있는 모든 경우의 수를 체크를 하고 인접 리스트는 연결된 경우의 수만..
2022.06.10