[백준 1663 / Python] XYZ 문자열

XYZ 문자열DP단계가 4이상일 때 문자열이 만들어지는 규칙 ➡️ 3번째 전 문자열 + 2번째 전 문자열1번 문제 \- 문자열의 길이를 담는 dp 배열 생성dp\[i] = dp\[i-3] + dp\[i-2]2번 문제 \- 각 문자의 개수를 담는 cnt 배열 생성0

2025년 4월 30일
·
0개의 댓글
·

[백준 2470 / Python] 두 용액

두 용액투포인터배열 오름차순 정렬초기 포인터로 배열의 양 끝점 가리키고, 초기값(answer)을 두 지점의 합으로 설정두 값 더해주며 절댓값이 answer보다 작으면 갱신두 값의 합이 음수이면 start+1두 값의 합이 양수이면 end-1시간복잡도: O(NlogN)

2025년 4월 24일
·
0개의 댓글
·

[프로그래머스 / Python] 양과 늑대

양과 늑대DFS아래 두 가지 조건만 확인해주면서 DFS 진행하면 됨양의 개수 > 늑대의 개수부모 노드 방문 & 자식 노드 미방문시간복잡도: O(2^N)

2025년 4월 23일
·
0개의 댓글
·

[백준 9663 / Python] N-Queen

N-Queen백트래킹1차원 배열로도 구현 가능row\[x]=i는 (x행, i열)에 퀸이 놓여있다는 뜻유망성 판단은 현재 행인 x전까지 놓여있는 퀸 확인1) 같은 열에 놓여있는지 확인2) 대각선에 놓여있는지 확인: 행 차이==열 차이행이 n에 도달했을때 답 추가시간복잡도

2025년 4월 23일
·
0개의 댓글
·

[백준 2292 / Python] 벌집

벌집수학아래와 같은 규칙으로 테두리가 생김 \- 끝 숫자를 보면 6, 12, 18, 24..씩 6의 배수만큼 차이가 증가시간복잡도: $O(\\sqrt N)$

2025년 4월 23일
·
0개의 댓글
·

[백준 1094 / Python] 막대기

막대기수학문제해석: 64, 32, 16, 8, 4, 2, 1 길이의 막대 몇 개를 가지고 만들 수 있는지현재 막대(n)이 x보다 크다면 반으로 나누기그렇지 않다면 x에서 n 빼주고 갯수 증가시간복잡도: O(1)

2025년 4월 22일
·
0개의 댓글
·

[백준 1018 / Python] 체스판 다시 칠하기

체스판 다시 칠하기브루트포스8\*8 크기의 체스판 슬라이싱시작점 범위는 행(0, n-7), 열(0, m-7)체스판 범위는 (현재행, 현재행+8), (현재열, 현재열+8)최소 변경 횟수 구하기두 패턴 만들기 -> (행+열)==짝수(W) 일때와 (행+열)==홀수(B) 일

2025년 4월 22일
·
0개의 댓글
·

[백준 4920 / Python] 테트리스 게임

테트리스 게임구현브루트포스테트리스를 뒤집을 수 없고 회전만 가능함에 주의❗️가능한 테트리스 모양 모두 shapes에 저장격자판 모두 탐색하며 테트리스 모양 놓기테트리스 셀 중 하나라도 격자판 범위 벗어나면 pass격자판 범위 내라면 값 계산후 최댓값 갱신Python시간

2025년 4월 22일
·
0개의 댓글
·

[백준 23289 / Python] 온풍기 안녕!

온풍기 안녕!구현시뮬레이션벽을 set에 양방향으로 저장하기바깥쪽 온도 1씩 감소할때 모서리 중복되지 않도록 주의하기격자 정보 받을 때 행, 열 인덱스 -1씩, 정보칸은 정보 따로 저장 후 0으로 변환히터 순회하며 온도 상승1) queue를 이용해서 한 라인 진행될때마다

2025년 4월 22일
·
0개의 댓글
·

[백준 2294 / Python] 동전 2

동전 2DPdp 배열을 k+1만큼 생성 후 모두 최댓값으로 초기화dp0=0으로 초기화가치를 1부터 탐색하며 이전 가치에서 동전을 하나 추가했을때 최솟값 찾아서 갱신Python시간복잡도: O(NK)

2025년 4월 22일
·
0개의 댓글
·

[백준 20002 / Python] 사과나무

사과나무누적합2차원 배열 범위를 (N+1)(N+1)로 늘리고 첫 행, 첫 열을 모두 0으로 채우기2차원 누적합 생성2차원 배열을 순회하며 시작점을 설정하고, K를 1부터 N까지 늘리면서 누적합 계산최댓값으로 정답 갱신Python시간복잡도: O(N^3)

2025년 4월 21일
·
0개의 댓글
·

[백준 7682 / Python] 틱택토

틱택토dfs백트래킹완탐dfs/백트래킹으로 가능한 말의 조합 모두 생성turn을 인자로 줘서 홀수면 X, 짝수면 O로 놓기turn이 10이면 더 이상 놓을 수 없으므로 종료한 말로 3칸 연결되면 (2) 종료3칸 연결 확인가로 확인전치 행렬로 변환해서 세로 확인두 대각선

2025년 4월 21일
·
0개의 댓글
·

[백준 11779 / Python] 최소비용 구하기 2

최소비용 구하기 2다익스트라노드에 도착하기 직전 노드를 저장하는 prev 배열 생성다익스트라 진행하면서 prev\[현재노드] = 이전노드 저장다익스트라 진행 완료 후, 도착지점부터 출발지점까지 역추적하며 경로 생성Python

2025년 4월 16일
·
0개의 댓글
·

[백준 11660 / Python] 구간 합 구하기 5

구간 합 구하기 5누적합2차원 누적합 문제arr와 누적합인 prefix_sum 2차원 배열의 첫 행, 첫 열을 모두 0으로 패딩을 넣어주는 것이 중요❗️누적합 생성 점화식prefix_sum\[i]\[j] = arr\[i]\[j] + prefix_sum\[i-1]\[j]

2025년 4월 15일
·
0개의 댓글
·

[프로그래머스/Python] 방의 개수

방의 개수그래프고려해야 할 문제 1\. 같은 점을 다른 경로를 통해 돌아오는 것이 아니라 그냥 같은 길을 왕복해서 돌아올 수 있음 \-> 간선을 따로 저장 2\. 대각선이 교차할 때 \-> 간선의 길이를 0.5로 설정하여 한 방향으로 두 번 나아가기

2025년 4월 15일
·
0개의 댓글
·

[코드트리/Python] 메이즈 러너 (삼성 SW 역량테스트)

메이즈 러너구현참가자 이동상하좌우 순으로 이동했을 때 출구와의 맨해튼 거리가 짧아질 때에만 이동 수행출구와의 맨해튼 거리가 가장 짧은 참가자들 후보로 저장각 참가자들 순회하며 정사각형 생성size, row, col 순으로 3중 for문 돌면서 정사각형 생성(인덱스 조정

2025년 4월 11일
·
0개의 댓글
·

[코드트리/Python] 포탑 부수기 (삼성 SW 역량테스트)

포탑 부수기구현bfs공격자 선정배열 내 최솟값공격자가 될 수 있는 포탑들 후보 리스트candidate에 추가candidate를 행과 열의 합, 열 순으로 오름차순 정렬공격 기록 뒤에서부터 돌며 만약 candidate 내에 있으면 공격자로 지정없으면 공격자는 candid

2025년 4월 10일
·
0개의 댓글
·

[코드트리/Python] 왕실의 기사 대결 (삼성 SW 역량테스트)

왕실의 기사 대결구현bfs명령 하나씩 수행하며 밀릴 예정인 기사들 반환현재 기사와 연결된 기사들 큐에 넣고 연쇄적으로 판단(bfs)어느 과정 중에라도 벽을 만난다면 빈 값으로 반환밀릴 예정인 기사들의 좌표 업데이트기사 배열에서 기존 자리 삭제 (0)이동한 자리 인덱스로

2025년 4월 9일
·
0개의 댓글
·

[코드트리/Python] 고대 문명 유적 탐사 (삼성 SW 역량테스트)

고대 문명 유적 탐사구현dfs탐색 진행1)3X3 슬라이싱 후 90, 180, 270으로 회전총 27개의 경우의 수 발생2) 각 경우에서 유물가치가 최대가 되는 배열 구하기연결된 조각의 개수(dfs 또는 bfs로) 구해서 모두 더하기이때 사라진 조각들의 좌표 모두 저장하

2025년 4월 7일
·
0개의 댓글
·

[코드트리/Python] 미지의 공간 탈출 (삼성 SW 역량테스트)

미지의 공간 탈출구현bfs시간의 벽 전개하기시간의 벽에서 면 간의 이동 구현하기 (인덱스 조정이 까다로움..)시간의 벽에서 bfs 수행이상현상 이동도 동시 수행 \- 지나온 turn을 set으로 관리하여 turn마다 단 한번만 실행되도록 해야 함바닥면에서 시간의 벽과

2025년 4월 5일
·
0개의 댓글
·