⭐ 코딩테스트
[백준 1197번 C/C++] 최소 스패닝 트리
[백준 1197번 C/C++] 최소 스패닝 트리
2023.05.31목차 [백준 1197번 C/C++] 최소 스패닝 트리 해결전략 Union&Find로 이어준다. 코드 - Kruskal Algorithm #include #include #include using namespace std; int vertex[100001]; struct Edge { int v1; int v2; int cost; Edge(int a, int b, int c){ v1=a, v2=b, cost=c; } bool operator
[백준 11659번 C/C++] 구간 합 구하기 4
[백준 11659번 C/C++] 구간 합 구하기 4
2023.05.30목차 [백준 11659번 C/C++] 구간 합 구하기 4 해결전략 sum[] 배열로 저장하지 않고 이중 for문을 사용하면 시간초과. 코드 방법1. #include using namespace std; int num[100001]; int sum[100001]; int main() { int n, m; scanf("%d %d", &n, &m); for(int i=1; i
[백준 2908번 C/C++] 상수
[백준 2908번 C/C++] 상수
2023.05.29목차 [백준 2908번 C/C++] 상수 https://www.acmicpc.net/problem/2908 2908번: 상수 상근이의 동생 상수는 수학을 정말 못한다. 상수는 숫자를 읽는데 문제가 있다. 이렇게 수학을 못하는 상수를 위해서 상근이는 수의 크기를 비교하는 문제를 내주었다. 상근이는 세 자리 수 두 www.acmicpc.net 해결전략 숫자 뒤집기 코드 #include using namespace std; int main() { int a, b, resultA=0, resultB=0; scanf("%d %d", &a, &b); while(a>0) { int tmpA = a%10; a/=10; resultA *= 10; resultA += tmpA; } while(b>0) { int tmpB ..
[백준 10809번 C/C++] 알파벳 찾기
[백준 10809번 C/C++] 알파벳 찾기
2023.05.26목차 [백준 10809번 C/C++] 알파벳 찾기 https://www.acmicpc.net/problem/10809 10809번: 알파벳 찾기 각각의 알파벳에 대해서, a가 처음 등장하는 위치, b가 처음 등장하는 위치, ... z가 처음 등장하는 위치를 공백으로 구분해서 출력한다. 만약, 어떤 알파벳이 단어에 포함되어 있지 않다면 -1을 출 www.acmicpc.net 해결전략 코드 #include using namespace std; int main() { int k=0; int s[26]; for(int i=0; i>x; if(s[x-'a']==-1) s[x-'a']=k; k++; } for(int i=0; i
[백준 1976번 C/C++] 여행 가자
[백준 1976번 C/C++] 여행 가자
2023.05.26글의 요약 설명 부분. 150자를 적어주세요. 글의 요약 설명 부분. 150자를 적어주세요. 글의 요약 설명 부분. 150자를 적어주세요. 글의 요약 설명 부분. 150자를 적어주세요. 글의 요약 설명 부분. 150자를 적어주세요. 글의 요약 설명 부분. 150자입니다 목차 [백준 1976번 C/C++] 여행 가자 https://www.acmicpc.net/problem/1976 1976번: 여행 가자 동혁이는 친구들과 함께 여행을 가려고 한다. 한국에는 도시가 N개 있고 임의의 두 도시 사이에 길이 있을 수도, 없을 수도 있다. 동혁이의 여행 일정이 주어졌을 때, 이 여행 경로가 가능한 것인 www.acmicpc.net 해결전략 Union & Find 코드 #include #include using n..
[백준 1904번 C/C++] 01타일
[백준 1904번 C/C++] 01타일
2023.05.25목차 [백준 1904번 C/C++] 01타일 https://www.acmicpc.net/problem/1904 1904번: 01타일 지원이에게 2진 수열을 가르쳐 주기 위해, 지원이 아버지는 그에게 타일들을 선물해주셨다. 그리고 이 각각의 타일들은 0 또는 1이 쓰여 있는 낱장의 타일들이다. 어느 날 짓궂은 동주가 지원이 www.acmicpc.net 처음 시도한 코드 - 시간초과, 범위초과 #include using namespace std; int n, cnt; long long Combination(int m, int r) { long long result=1; for (int i = 0; i < r; i++) { result *= (n - i); result /= (i + 1); } return r..
[백준 1717번 C/C++] 집합의 표현
[백준 1717번 C/C++] 집합의 표현
2023.05.23목차 [백준 1717번 C/C++] 집합의 표현 https://www.acmicpc.net/submit/1717/61218850 로그인 www.acmicpc.net 해결전략 Union(합집합) Find 코드 #include using namespace std; int n, m; int unf[1000001]; int Find(int k) { if (unf[k] == k) return k; return unf[k] = Find(unf[k]); } void Union(int a, int b) { a=Find(a); b=Find(b); if (a != b) unf[a] = b; } int main() { scanf("%d %d", &n, &m); for (int i = 1; i
[백준 2164번 C/C++] 카드2
[백준 2164번 C/C++] 카드2
2023.05.23목차 [백준 2164번 C/C++] 카드2 https://www.acmicpc.net/problem/2164 2164번: 카드2 N장의 카드가 있다. 각각의 카드는 차례로 1부터 N까지의 번호가 붙어 있으며, 1번 카드가 제일 위에, N번 카드가 제일 아래인 상태로 순서대로 카드가 놓여 있다. 이제 다음과 같은 동작을 카드가 www.acmicpc.net 해결전략 deque 사용 코드 #include #include using namespace std; deque dq; int main() { int n; scanf("%d", &n); for(int i=1; i1) { dq.pop_front(); int temp=dq.front(); dq.pop_front(); dq.push_back(temp); } pr..
[백준 4779번 C/C++] 칸토어 집합
[백준 4779번 C/C++] 칸토어 집합
2023.05.22목차 [백준 4779번 C/C++] 칸토어 집합 https://www.acmicpc.net/problem/4779 4779번: 칸토어 집합 칸토어 집합은 0과 1사이의 실수로 이루어진 집합으로, 구간 [0, 1]에서 시작해서 각 구간을 3등분하여 가운데 구간을 반복적으로 제외하는 방식으로 만든다. 전체 집합이 유한이라고 가정하고, www.acmicpc.net 해결전략 재귀 코드
[백준 11729번 C/C++] 하노이 탑 이동 순서
[백준 11729번 C/C++] 하노이 탑 이동 순서
2023.05.22글의 요약 설명 부분. 150자를 적어주세요. 글의 요약 설명 부분. 150자를 적어주세요. 글의 요약 설명 부분. 150자를 적어주세요. 글의 요약 설명 부분. 150자를 적어주세요. 글의 요약 설명 부분. 150자를 적어주세요. 글의 요약 설명 부분. 150자입니다 목차 [백준 11729번 C/C++] 하노이 탑 이동 순서 https://www.acmicpc.net/problem/11729 11729번: 하노이 탑 이동 순서 세 개의 장대가 있고 첫 번째 장대에는 반경이 서로 다른 n개의 원판이 쌓여 있다. 각 원판은 반경이 큰 순서대로 쌓여있다. 이제 수도승들이 다음 규칙에 따라 첫 번째 장대에서 세 번째 장대로 www.acmicpc.net 해결전략 재귀 https://www.youtube.com/..
[백준 24060번 C/C++] 알고리즘 수업 - 병합 정렬 1
[백준 24060번 C/C++] 알고리즘 수업 - 병합 정렬 1
2023.05.20목차 [백준 24060번 C/C++] 알고리즘 수업 - 병합 정렬 1 https://www.acmicpc.net/problem/24060 24060번: 알고리즘 수업 - 병합 정렬 1 첫째 줄에 배열 A의 크기 N(5 ≤ N ≤ 500,000), 저장 횟수 K(1 ≤ K ≤ 108)가 주어진다. 다음 줄에 서로 다른 배열 A의 원소 A1, A2, ..., AN이 주어진다. (1 ≤ Ai ≤ 109) www.acmicpc.net 해결전략 코드
[백준 14888번 C/C++] 연산자 끼워넣기
[백준 14888번 C/C++] 연산자 끼워넣기
2023.05.19목차 [백준 14888번 C/C++] 연산자 끼워넣기 https://www.acmicpc.net/problem/14888 14888번: 연산자 끼워넣기 첫째 줄에 수의 개수 N(2 ≤ N ≤ 11)가 주어진다. 둘째 줄에는 A1, A2, ..., AN이 주어진다. (1 ≤ Ai ≤ 100) 셋째 줄에는 합이 N-1인 4개의 정수가 주어지는데, 차례대로 덧셈(+)의 개수, 뺄셈(-)의 개수, www.acmicpc.net 해결전략 코드 #include using namespace std; int n; int max=-1000000001; int min=1000000001; int a[101], oper[4]; void DFS(int L, int result) { if(L==n) { if (result > m..