본문 바로가기

728x90
SMALL

분류 전체보기

(474)
백준 9440번 [숫자 더하기](C++) -yes6686- 티스토리 백준 문제 풀이: 9440 (숫자 더하기)문제 링크: https://www.acmicpc.net/problem/9440문제 설명:주어진 숫자들을 두 개의 정수로 나누어 합이 최소가 되도록 만듭니다. 각 숫자는 반드시 사용되어야 하며, 두 정수의 앞자리에 0이 올 수 없습니다. 입력은 여러 개의 테스트 케이스로 구성되며, 첫 번째 입력 값이 0이면 프로그램이 종료됩니다.문제 해결 코드#include #include #include using namespace std;int arr[15]; // 숫자 저장 배열int main() { ios::sync_with_stdio(false); cin.tie(NULL); while (true) { int n; // 숫자의 개수 ..
백준 20363번 [당근 키우기](C++) -yes6686- 티스토리 백준 문제 풀이: 20363 (당근 키우기)문제 링크: https://www.acmicpc.net/problem/20363문제 설명:당근 농장에서 두 가지 작물을 키우는데, 첫 번째 작물(x)과 두 번째 작물(y)을 선택합니다. 작물을 키울 때는 더 큰 작물에 추가적인 노력이 필요합니다. 각 작물의 크기 중 더 큰 값에 작은 값의 10%만큼의 추가 노력을 더한 값을 계산하여, 총 필요한 노력의 크기를 구합니다.문제 해결 코드#include using namespace std;int main() { ios::sync_with_stdio(false); cin.tie(NULL); int x, y; // 첫 번째 작물과 두 번째 작물의 크기 cin >> x >> y; // 더 큰 값에..
백준 1393번 [음하철도 구구팔](C++) -yes6686- 티스토리 백준 문제 풀이: 1393 (음하철도 구구팔)문제 링크: https://www.acmicpc.net/problem/1393문제 설명:현재 위치(xs, ys)에 있는 사람이 직선 경로를 따라 이동하는 음하철도의 가장 가까운 지점을 찾아야 합니다. 음하철도는 (xe, ye)에서 시작하여 방향 벡터(dx, dy)에 따라 이동하며, 음하철도는 무한히 계속됩니다. 최단 거리를 가지는 지점의 좌표를 구하는 문제입니다.문제 해결 코드#include using namespace std;// 두 수의 최대공약수 계산int gcd(int a, int b) { if (b == 0) return a; return gcd(b, a % b);}// 두 점 (a, b)와 (c, d) 사이의 거리의 제곱 계산int dis..
백준 26265번 [멘토와 멘티](C++) -yes6686- 티스토리 백준 문제 풀이: 26265 (멘토와 멘티)문제 링크: https://www.acmicpc.net/problem/26265문제 설명:멘토와 멘티의 이름 리스트가 주어집니다. 멘토와 멘티의 관계를 정렬하는 규칙은 다음과 같습니다:멘토의 이름을 기준으로 오름차순 정렬합니다.멘토 이름이 같다면, 멘티의 이름을 기준으로 내림차순 정렬합니다.이 정렬 규칙에 따라 멘토와 멘티의 리스트를 출력하는 프로그램을 작성하세요.문제 해결 코드#include #include using namespace std;// 멘토와 멘티 정보를 저장하는 배열pair arr[100001];// 비교 함수bool compare(pair a, pair b) { if (a.first == b.first) { return a.s..
백준 23082번 [균형 삼진법](C++) -yes6686- 티스토리 백준 문제 풀이: 23082 (균형 삼진법)문제 링크: https://www.acmicpc.net/problem/23082문제 설명:주어진 정수를 균형 삼진법(Balanced Ternary)으로 변환하는 문제입니다. 균형 삼진법은 {-1, 0, 1}로 이루어진 삼진법으로, 음수를 'T'(Ten)를 사용해 표현합니다. 예를 들어, 숫자 -4는 균형 삼진법으로 'T1'로 표현됩니다.문제 해결 코드#include #include #include #include using namespace std;string s = ""; // 균형 삼진법 변환 과정에서 사용될 문자열stack st; // 결과 출력용 스택// 균형 삼진법 변환을 위한 DFSvoid dfs(int n) { if (n == 0) return..
백준 1166번 [선물](C++) -yes6686- 티스토리 백준 문제 풀이: 1166 (선물)문제 링크: https://www.acmicpc.net/problem/1166문제 설명:n개의 정육면체 선물을 상자(l × w × h)에 담으려고 합니다. 선물은 모두 같은 크기로 만들어야 하며, 가능한 가장 큰 선물의 한 변의 길이를 구하는 문제입니다. 길이는 소수점 아래 10자리까지 정확해야 합니다.문제 해결 코드#include #include using namespace std;int main() { ios::sync_with_stdio(false); cin.tie(NULL); // 입력 받기 double n, l, w, h; cin >> n >> l >> w >> h; // 이분 탐색 초기화 double s = 0; // 가능..
백준 2002번 [추월](C++) -yes6686- 티스토리 백준 문제 풀이: 2002 (추월)문제 링크: https://www.acmicpc.net/problem/2002문제 설명:차량들이 터널에 진입한 순서와 터널에서 나온 순서가 주어집니다. 추월한 차량의 수를 계산하는 문제입니다. 차량이 추월했다는 것은, 터널에 진입한 차량 중 뒤에서 들어온 차량이 앞서서 나왔음을 의미합니다.문제 해결 코드#include #include using namespace std;int arr[1001]; // 차량의 터널 진입 순서를 저장map mp; // 차량 이름과 진입 순서 매핑int main() { ios::sync_with_stdio(false); cin.tie(NULL); int n; // 차량 수 cin >> n; string s; /..
백준 1254번 [팰린드롬 만들기](C++) -yes6686- 티스토리 백준 문제 풀이: 1254 (팰린드롬 만들기)문제 링크: https://www.acmicpc.net/problem/1254문제 설명:주어진 문자열을 팰린드롬(회문)으로 만들기 위해 문자열 뒤에 최소한의 문자를 추가합니다. 추가된 문자를 포함한 문자열의 최종 길이를 출력하세요.문제 해결 코드#include using namespace std;// 문자열이 팰린드롬인지 확인bool isPalin(const string &s) { for (int i = 0; i > s; int n = s.size(); for (int i = 0; i 코드 설명코드의 주요 로직과 사용된 알고리즘 설명:핵심 알고리즘: 문자열의 뒤에서부터 점진적으로 팰린드롬 여부를 확인하며 최소한의 문자를 추가합니다.구현 세부사항..

728x90
LIST