https://www.acmicpc.net/problem/3197 접근# 1. 시간초과 (매번 처음부터 BFS 시작) 매일 물 공간과 상하좌우로 접촉한 모든 빙판 공간은 녹는다. 두 백조가 만나려면 며칠이 걸릴까? 1. 먼저 두 백조의 위치를 찾는다. (L1, L2)2. 두 백조가 만날 수 있을 때까지 아래를 반복한다. 2-1. L1 위치에서 bfs를 시작하여 L2 위치까지 갔다면 종료한다. 2-2. 빙판에 막혔다면 물 공간과 접한 빙판 공간을 모두 녹이고 걸리는 날을 카운트한다. 전체 코드import sysfrom collections import dequeinput = sys.stdin.readlineR, C = map(int, input().split())lake = []swan..
https://school.programmers.co.kr/learn/courses/30/lessons/60061 프로그래머스코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.programmers.co.kr💭풀이 과정1. 문제 조건inputn: 벽면의 크기 (5≤ n ≤ 100인 자연수)build_frame: 기둥과 보를 설치하거나 삭제하는 작업이 순서대로 담긴 2차원 배열[x, y, a, b]x, y는 기둥, 보를 설치 또는 삭제할 교차점의 좌표이며, [가로 좌표, 세로 좌표]a는 설치 또는 삭제할 구조물의 종류를 나타내며, 0은 기둥, 1은 보b는 구조물을 설치할 지, 혹은 삭제할 지를 나타내며 0..
문제https://school.programmers.co.kr/learn/courses/30/lessons/42883?language=python3 풀이 예) number = '1231234', k = 3, answer = '3234'1. 결과는 number의 길이 7에서 3을 뺀 4자리가 된다.2. 처음엔 number의 k+1 전까지의 범위를 탐색하여 최댓값을 찾아, answer에 추가하고 index는 저장한다. (최댓값이 여러 개라면 앞에 있는 index의 최댓값으로 선정한다. 나중에 탐색할 문자열이 많을 수록 최댓값이 커지기 때문이다. )3. 2번의 과정을 n-k 번 반복한다. 대신 문자열 범위는 처음부터가 아닌 최댓값의 index +1 부터 k+1+t 까지 탐색한다. 1)def solutio..
문제https://school.programmers.co.kr/learn/courses/30/lessons/1844💭풀이 과정1. 문제 조건input: 게임 맵 2차원리스트 n x m1 ≤ n, m ≤ 100인 자연수, n과 m 모두 1인 경우Xmaps 값 0은 벽이 있고, 1은 벽이 없는 자리좌측 상단 (1, 1) 위치에서 시작, 상대 팀 진영 우측 하단 (n, m) 위치return: 상대 팀 진영까지 지나간 칸 개수 최솟값출발칸, 도착칸(상대 팀 진영 칸) 포함상대 팀의 진영 주위에 다 벽을 세워둔 경우, 상대 팀에 진영 도착할 수 없는 경우: return -12. 알고리즘최단 경로 (BFS)변수방문여부 및 거리체크를 위한 2차원 배열(visited)큐x, y 방향 배열 (dx, dy)[과정]큐에 ..