KimJinwoo

[ 백준 ] 12928 트리와 경로의 길이 ( Python )

BOJ 12928 문제 이해 먼저 문제를 정확히 이해하는 것이 중요합니다. 트리의 노드 개수는 N개여야 합니다. 길이가 2인 단순 경로의 개수는 S개여야 합니다. 단순 경로란 같은 정점을 두 번 이상 반복하지 않는 경로를 의미합니다. 경로의 방향은 상관없습니다. 즉, A-B-C와 C-B-A는 같은 경로로 간주합니다. 접근 방법 ...

[ 백준 ] 2336 굉장한 학생 ( Python )

BOJ 2336 안녕하세요! 오늘은 세 번의 시험 성적을 기준으로 ‘굉장한’ 학생을 찾아내는 알고리즘 문제에 대해 소개해 드리려고 합니다. 문제의 내용은 다음과 같습니다. N명의 학생이 세 번의 시험을 치렀고, 각 시험마다 1등부터 N등까지 등수가 매겨졌습니다. 만약 어떤 학생 A가 다른 학생 B보다 세 번의 시험에서 모두 더 좋은 등수를 받았다면...

[ 백준 ] 11375 열혈강호 ( Python )

BOJ 11375 문제 분석 이 문제는 강호네 회사에서 직원들과 일들 간의 최적의 매칭을 찾는 문제입니다. 각 직원은 특정 일들만 할 수 있고, 목표는 최대한 많은 일을 처리하는 것입니다. 이 문제의 핵심은 직원과 일 사이의 관계를 이분 그래프(Bipartite Graph)로 모델링하는 것입니다. 이분 그래프란 모든 정점을 두 개의 그룹으로 나눌 ...

[ 백준 ] 1857 발레리노 ( Python )

BOJ 1857 안녕하세요! 오늘은 백준 온라인 저지에 있는 “발레리노” 문제를 파이썬을 사용하여 풀어보도록 하겠습니다. 이 문제는 그래프 탐색 알고리즘을 활용하는 문제로, BFS(너비 우선 탐색)를 사용하여 해결할 수 있습니다. 먼저, 문제를 자세히 읽어보면서 어떤 접근 방법으로 풀어야 할지 고민해 보았습니다. 문제에서 주어진 격자판을 그래프로 ...

[ 백준 ] 18236 행렬 곱셈 순서 2 ( Python )

BOJ 1557 안녕하세요, 여러분! 오늘은 백준 온라인 저지에 있는 “행렬 곱셈 순서 2” 문제에 대해 알아보도록 하겠습니다. 이 문제는 동적 계획법(DP)의 고급 문제 중 하나인데요, 특별히 Hu-Shing 알고리즘을 활용하여 효율적으로 해결할 수 있습니다. 문제 자체는 간단합니다. 행렬의 개수 N과 각 행렬의 크기가 주어졌을 때, 모든 행렬을...

[ 백준 ] 1328 고층 빌딩 ( Python )

BOJ 1328 고층 빌딩 문제 풀이 안녕하세요! 오늘은 백준 알고리즘 문제 중 하나인 “고층 빌딩” 문제에 대해 알아보도록 하겠습니다. 문제 접근 방법 이 문제는 Dynamic Programming(DP)을 활용하여 해결할 수 있습니다. DP는 큰 문제를 작은 부분 문제로 나누어 해결하고, 그 결과를 활용하여 전체 문제를 해결하는 알고리즘입니...

[ 백준 ] 1019 책 페이지 ( Python )

BOJ 1019 책 페이지 수 세기 문제 접근 방법 이 문제는 주어진 페이지 수 N까지의 모든 페이지에 나오는 0부터 9까지의 숫자의 개수를 세는 문제입니다. 처음에는 단순히 1부터 N까지 모든 숫자를 문자열로 변환하여 각 자리수를 세면 될 것 같았습니다. 하지만 이 방법은 N이 최대 10억까지 가능하기 때문에 시간 초과가 발생할 것입니다. 따...

[ 백준 ] 3314 An Arithmetic Rectangle ( Python )

BOJ 3314 산술 직사각형 채우기 안녕하세요! 오늘은 주어진 격자에서 빈 칸을 채워 산술 직사각형을 만드는 문제를 풀어보겠습니다. 산술 직사각형이란 각 행과 열에 있는 숫자들이 등차수열을 이루는 직사각형을 말합니다. 문제 접근 방법 이 문제를 해결하기 위해서는 다음과 같은 접근 방법을 사용할 수 있습니다. 주어진 격자에서 알려진 숫자...