아이템 줍기 (BFS, 겹쳐진 사각형 테두리 구하기)
·
Coding Test/programmers
프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 분석 테두리 좌표는 *2해서 구해야함 : 인접한 테두리가 구해지면 최단경로로 지나기 때문에 인접한 테두리가 생김 빨간 선과 같이 인접한 테두리를 최단경로로 지남 *2를 해서 구하는 경우 인접 테두리가 생기지 않음 풀이 from collections import deque dx = [-1, 1, 0, 0] dy = [0, 0, -1, 1] def solution(rectangle, characterX, characterY, itemX, itemY): board=[[-1]*102 for _ in range(102..
여행경로 (DFS, 모든 경로 사용해서 모든 노드 방문)
·
Coding Test/programmers
프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 분석 무조건 알파벳 순서가 앞서는 곳을 향하도록 여행 경로를 구성하면 문제의 답을 올바르게 구할 수 있음을 보장하지 않음 ticket result [["ICN", "AAA"], ["ICN", "CCC"], ["CCC", "DDD"], ["AAA", "BBB"], ["AAA", "BBB"], ["DDD", "ICN"], ["BBB", "AAA"]] ["ICN", "CCC", "DDD", "ICN", "AAA", "BBB", "AAA", "BBB"] 위 예시에서 처음에 "ICN"에서 출발하여 "AAA"를 먼저 방..
쿼드압축 후 개수 세기 (재귀)
·
Coding Test/programmers
프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 분석 배열의 길이가 1이 될 때 까지 4개로 나눔 (재귀) 4개로 나누는 시작 좌표, 길이를 매개변수로 하는 함수 생성 풀이 def solution(arr): answer = [0, 0] def quad(r,c,n): if len(arr) == 1: answer[arr[r][c]] += 1 return else: tg = arr[r][c] for i in range(n): for j in range(n): if arr[r+i][c+j] != tg: n=n//2 quad(r, c, n) quad(r, c+n, ..
[Python] 삼각 달팽이 (리스트 반시계 방향으로 채우기)
·
Coding Test/programmers
프로그래머스코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.programmers.co.kr  분석삼각형 리스트 생성채울 숫자 변수 선언n번 회전하므로 n번 반복3으로 나눠서 방향 체크 : 세 방향(아래쪽, 오른쪽, 위쪽)으로 채워지기 때문회전하면서 채워지는 길이는  n, n-1, n-2, ... ,1n=5인 경우, 5번 회전하면서(1,2,3,4,5) 방향 하(6,7,8,9) 방향 우 (10,11,12) 방향 상(13,14) 방향 하(15) 방향 우순서로 채워짐 풀이def solution(n): answer = [[0 for j in range(1, i+1)] for i in range(1,..
단속카메라 (greedy)
·
Coding Test/programmers
프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 분석 배열 정렬 첫번째 선으로 시작 이어져있다면 끝이 더 작은걸로 연결하고(겹쳐야 카운트하기 때문에), 끊어져있다면 카운트 한 후 새로 시작 [2170] 선 긋기 (선의 총 길이 구하기) 2170번: 선 긋기 첫째 줄에 선을 그은 횟수 N (1 ≤ N ≤ 1,000,000)이 주어진다. 다음 N개의 줄에는 선을 그을 때 선택한 두 점의 위치 x, y (-1,000,000,000 ≤ x < y ≤ 1,000,000,000)가 주어진다. www.acmicpc.net 분 karla.tistory.com 풀이 def..
숫자 게임 (리스트 비교, deque)
·
Coding Test/programmers
프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr from collections import deque def solution(A, B): answer = 0 A.sort() B.sort() A = deque(A) B = deque(B) while B: if A[0] < B[0]: answer += 1 A.popleft() B.popleft() else: B.popleft() return answer