solved.ac 알고리즘 문제해결 학습의 이정표 🚩 Baekjoon Online Judge 문제들의 난이도 및 티어 정보를 제공하는 사이트입니다. solved.ac 계속해서 Class1 문제들 풀어보겠습니다! 10998번 : A x B 10998번: A×B 두 정수 A와 B를 입력받은 다음, A×B를 출력하는 프로그램을 작성하시오. www.acmicpc.net A x B를 출력하는 문제입니다. def multiply(x, y): return x * y if __name__ == '__main__': a, b = map(int, input().split()) print(multiply(a, b)) 11654번 : 아스키 코드 11654번: 아스키 코드 알파벳 소문자, 대문자, 숫자 0-9중 하나가 주어졌..
solved.ac 알고리즘 문제해결 학습의 이정표 🚩 Baekjoon Online Judge 문제들의 난이도 및 티어 정보를 제공하는 사이트입니다. solved.ac 이번에는 Class1의 다른 문제들을 살펴보고자 합니다. 참고로 Class1에는 총 36개의 문제가 수록되어 있고, 때문에 Class1은 4개의 포스팅으로 이루어질 예정입니다. 문제를 하나씩 살펴보겠습니다. Class1의 문제들은 파이썬의 기본적인 문법만 익히고 있다면 충분히 스스로 해결할 수 있습니다! 2753번 : 윤년 2753번: 윤년 연도가 주어졌을 때, 윤년이면 1, 아니면 0을 출력하는 프로그램을 작성하시오. 윤년은 연도가 4의 배수이면서, 100의 배수가 아닐 때 또는 400의 배수일 때이다. 예를 들어, 2012년은 4의 배수..
solved.ac 알고리즘 문제해결 학습의 이정표 🚩 Baekjoon Online Judge 문제들의 난이도 및 티어 정보를 제공하는 사이트입니다. solved.ac Class 카테고리에서는 지금까지 달성해 온 solved ac class의 문제들을 다시금 풀어보면서 상기시켜보는 시간을 가지고자 합니다. Class가 올라갈수록 난이도가 상승하기 때문에 하위 Class에서는 한 포스팅 당 여러 문제들을 살펴볼 것이며, 상위 Class에서는 한 포스트 당 최소한의 문제만을 실을 예정입니다. 그저 다시 풀기에는 제출한 코드 기록도 남아있기에, Pythonic하고 간결한 코드보다는 주로 함수를 활용하는 코드로 작성해보도록 하겠습니다. 먼저 Class 1에 실려있는 문제들부터 살펴보겠습니다. 난이도가 어렵지 않으..
제1회 유틸컵 - Chapter 2 www.acmicpc.net이번 글에서는 두 번째로 진행한 "제1회 유틸컵 - Chapter 2" 대회에 대한 문제를 다뤄보겠습니다. R번 : Rust Study 30033번: Rust Study첫 번째 줄에는 임스가 계획하고 공부한 일수 $N$이 주어진다. $(1 \le N \le 1\,000)$ 두 번째 줄에는 임스가 공부하고자 계획한 페이지 수 $A_1$, $A_2$, $\cdots$, $A_N$가 공백으로 구분되어 주어진다. $(1 \lewww.acmicpc.net계획한 페이지와 실제 진행한 페이지의 직접적인 비교를 통해 결과를 Count 해주면 되는 문제입니다.# 구현n = int(input())a = list(map(int, input().split()))b..
제1회 임스의 메이플컵 (The 1st lms0806's Maple Cup) · Arena #6 www.acmicpc.net 알고리즘 대회 카테고리에서는 참가했던 알고리즘 대회마다 풀이할 수 있는 한에서 문제 풀이를 진행해보고자 합니다. :0 이번 글에서는 가장 먼저 참가했었던 "제1회 임스의 메이플컵 (The 1st lms0806's Maple Cup) · Arena #6" 대회에 대한 문제를 다뤄보겠습니다. A번 : 임스의 메이플컵 29790번: 임스의 메이플컵 첫 번째 줄에 메이플컵에 지원한 지원자의 문제 해결 개수 $N$과 유니온 레벨 $U$, 최고 레벨 $L$이 공백을 사이에 두고 주어진다. $(1 \le N \le 130\,000;$ $1 \le U \le 12\,500;$ $1 \le L \..
이번에는 IT 기업 코딩 테스트에서 가끔씩 등장하곤 하는 유형 중 하나인 "위상 정렬"에 대해 이야기해보려고 합니다. 위상 정렬은 그래프 이론의 개념으로, 방향 그래프에서 각 노드들의 선행 순서를 지켜주는 정렬 방법입니다. 위상 정렬이란? 위상 정렬은 일종의 선후 관계를 가진 작업들을 순서에 맞게 나열하는 알고리즘입니다. 주로 작업 스케줄링, 종속성 관리, 컴파일러 등 다양한 분야에서 활용됩니다. 간단하게 설명하자면, 방향 그래프(Directed Graph)에서 각 노드들 사이의 선후 관계가 주어질 때, 모든 노드를 방향성을 지켜 나열하는 것을 의미합니다. 이때, 그래프 내에 사이클(Cycle)이 존재하면 위상 정렬은 불가능합니다. 코딩 테스트에서의 위상 정렬 문제 해결 전략 진입 차수(In-degree..
이번 글에서는 최소 스패닝 트리(Minimum Spanning Tree)에 대한 개념과 코딩 테스트에서 이 문제를 해결하는 방법에 대해 알아보겠습니다. 최소 스패닝 트리는 그래프 이론의 주요 주제 중 하나입니다. 최소 스패닝 트리(Minimum Spanning Tree)의 개념 최소 스패닝 트리란, 가중치가 있는 연결 그래프에서 모든 정점을 가장 적은 비용으로 연결하는 부분 그래프입니다. 주어진 그래프의 모든 정점을 포함하면서 사이클이 없고, 가중치의 합이 최소인 부분 그래프를 찾는 것이 목표입니다. 최소 스패닝 트리에 사용되는 알고리즘 크루스칼 알고리즘: 간선들을 가중치 순으로 정렬한 후, 사이클을 형성하지 않으면서 간선을 추가하여 최소 스패닝 트리를 만듭니다. 모든 간선을 가중치 순으로 정렬합니다. ..
배낭 문제(Knapsack Problem)의 개념 배낭 문제란, 제한된 용량을 가진 배낭에 최대 가치를 담을 수 있는 물건들의 조합을 찾는 문제입니다. 각각의 물건은 가치와 부피(또는 무게)를 가지고 있으며, 우리의 목표는 주어진 용량 내에서 최대 가치를 얻을 수 있는 조합을 찾는 것입니다. 0/1 배낭 문제: 가장 기본적인 형태인 0/1 배낭 문제에서는 각각의 물건은 단 하나씩만 선택할 수 있습니다. 즉, 해당 물건을 전부 넣거나 아예 넣지 않거나 둘 중 하나만 선택할 수 있습니다. 코딩 테스트에서의 배낭 문제 접근 방법 일반적으로 0/1 배낭 문제를 해결하기 위해서 아래 일련의 단계를 거치는 다이나믹 프로그래밍(DP) 기법을 사용합니다. DP 테이블 초기화: DP 테이블은 (물건 개수+1) x (배낭..