[백준 알고리즘]/[C++]
-
11653번 소인수분해 | Baekjoon BOJ 백준11653 C++ 코드, 해설, 풀이[백준 알고리즘]/[C++] 2021. 1. 18. 12:38
이번 포스팅은 백준 11653번 소인수분해입니다. 아래 url를 클릭하시면 백준 사이트에서 문제를 볼 수 있습니다. www.acmicpc.net/problem/11653 11653번: 소인수분해 첫째 줄에 정수 N (1 ≤ N ≤ 10,000,000)이 주어진다. www.acmicpc.net 기본 알고리즘 2 ≤ i ≤N 인 for문을 돌며 N이 i로 나누어지면 i 출력 전체 코드 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 //백준11653 소인수분해 #include using namespace std; int main() { int N; cin >> N; if (N == 1) return 0; for (int i = 2; i
-
1094번 막대기 | Baekjoon BOJ 백준1094 C++ 코드, 해설, 풀이[백준 알고리즘]/[C++] 2021. 1. 18. 12:20
이번 포스팅은 백준 1094번 막대기입니다. 아래 url를 클릭하시면 백준 사이트에서 문제를 볼 수 있습니다. www.acmicpc.net/problem/1094 1094번: 막대기 지민이는 길이가 64cm인 막대를 가지고 있다. 어느 날, 그는 길이가 Xcm인 막대가 가지고 싶어졌다. 지민이는 원래 가지고 있던 막대를 더 작은 막대로 자른다음에, 풀로 붙여서 길이가 Xcm인 막대 www.acmicpc.net 기본 알고리즘 절반으로 자른 막대를 모두 합한다 = 이진수 23 = 16 + 4 + 2 + 1 32 = 32 64 = 64 48 = 32 + 16 출력 = 이진수 표현에서 1의 개수 전체 코드 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 //백준1094..
-
2346번 풍선 터뜨리기 | Baekjoon BOJ 백준 2346 C++ 코드, 해설, 풀이[백준 알고리즘]/[C++] 2021. 1. 17. 12:17
이번 포스팅은 백준 2346번 풍선 터뜨리기입니다. 아래 url를 클릭하시면 백준 사이트에서 문제를 볼 수 있습니다. www.acmicpc.net/problem/2346 2346번: 풍선 터뜨리기 첫째 줄에 자연수 N(1≤N≤1,000)이 주어진다. 다음 줄에는 차례로 각 풍선 안의 종이에 적혀 있는 수가 주어진다. 편의상 0은 적혀있지 않다고 가정하자. www.acmicpc.net 기본 알고리즘 vector의 삽입과 삭제 pair 사용 참고 line25 마지막 풍선을 터뜨린 후 더 이상 풍선 터뜨리기를 하지 않음 = main 함수 종료 (return 0) line 27-32 오른쪽 이동 = 맨 앞 원소 삭제 후 맨 뒤에 삽입 line 33-38 왼쪽 이동 = 맨 뒤 원소 삭제 후 맨 앞에 삽입 line..
-
11966번 2의 제곱인가? | Baekjoon BOJ 백준 11966 C++ 코드, 해설, 풀이[백준 알고리즘]/[C++] 2021. 1. 16. 21:18
이번 포스팅은 백준 11966번 2의 제곱인가?입니다. 아래 url를 클릭하시면 백준 사이트에서 문제를 볼 수 있습니다. www.acmicpc.net/problem/11966 11966번: 2의 제곱인가? 자연수 N이 주어졌을 때, 2의 제곱수면 1을 아니면 0을 출력하는 프로그램을 작성하시오. www.acmicpc.net 기본 알고리즘 1 ≤ N ≤ 2^30 이므로 2^30보다 작은 2의 제곱수 squareNum을 생성하여 일치하면 1, 일치하는 것이 없으면 0 return. 참고 return 0; 대신 return; 사용했을 때 백준에서는 컴파일 에러가 뜬다. (VS에서는 에러 없음) 전체 코드 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23..
-
4344번 평균은 넘겠지 | Baekjoon BOJ 백준 4344 C++ 코드, 해설, 풀이[백준 알고리즘]/[C++] 2021. 1. 15. 21:45
이번 포스팅은 백준 4344번 평균은 넘겠지입니다. 아래 url를 클릭하시면 백준 사이트에서 문제를 볼 수 있습니다. www.acmicpc.net/problem/4344 4344번: 평균은 넘겠지 대학생 새내기들의 90%는 자신이 반에서 평균은 넘는다고 생각한다. 당신은 그들에게 슬픈 진실을 알려줘야 한다. www.acmicpc.net 기본 알고리즘 일차원 배열 참고 소수점 출력 형식 printf("%0.3f", num); //소수점 아래 3자리까지 출력 printf에서 '%'출력 printf("%%", ans); //% printf("%%%%", ans); //%% printf("%%%f", 99.99); //%99.99 전체 코드 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 ..
-
3460번 이진수 | Baekjoon BOJ 백준 3460 C++ 코드, 해설, 풀이[백준 알고리즘]/[C++] 2021. 1. 15. 20:59
이번 포스팅은 백준 3460번 이진수입니다. 아래 url를 클릭하시면 백준 사이트에서 문제를 볼 수 있습니다. www.acmicpc.net/problem/3460 3460번: 이진수 양의 정수 n이 주어졌을 때, 이를 이진수로 나타냈을 때 1의 위치를 모두 찾는 프로그램을 작성하시오. 최하위 비트(least significant bit, lsb)의 위치는 0이다. www.acmicpc.net 기본 알고리즘 %연산자 사용 n%2==1이면 해당 자릿수==1 전체 코드 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 //백준3460 이진수 #include using namespace std; int main() { int T, n; cin >> T; while ..
-
1197번 최소 스패닝 트리 | Kruskal Algorithm 쿠르스칼 알고리즘 | Baekjoon BOJ 백준 9372 C++ 코드, 해설, 풀이[백준 알고리즘]/[C++] 2021. 1. 13. 13:18
이번 포스팅은 백준 1197번 최소 스패닝 트리입니다. 아래 url를 클릭하시면 백준 사이트에서 문제를 볼 수 있습니다. www.acmicpc.net/problem/1197 1197번: 최소 스패닝 트리 첫째 줄에 정점의 개수 V(1 ≤ V ≤ 10,000)와 간선의 개수 E(1 ≤ E ≤ 100,000)가 주어진다. 다음 E개의 줄에는 각 간선에 대한 정보를 나타내는 세 정수 A, B, C가 주어진다. 이는 A번 정점과 B번 정점이 www.acmicpc.net 기본 알고리즘 MST 최소 신장 트리 Kruskal Algorithm 사용 참고 설명 line 16 parent[i]가 -1이면 정점 i는 정점 집합의 루트가 됨. 아니면 이 정점은 다른 정점이 루트가 되는 집합에 속한 원소임. line 43 c..
-
9372번 상근이의 여행 | Baekjoon BOJ 백준 9372 C++ 코드, 해설, 풀이[백준 알고리즘]/[C++] 2021. 1. 12. 15:03
이번 포스팅은 백준 5052번 전화번호 목록입니다. 아래 url를 클릭하시면 백준 사이트에서 문제를 볼 수 있습니다. www.acmicpc.net/problem/9372 9372번: 상근이의 여행 첫 번째 줄에는 테스트 케이스의 수 T(T ≤ 100)가 주어지고, 각 테스트 케이스마다 다음과 같은 정보가 주어진다. 첫 번째 줄에는 국가의 수 N(2 ≤ N ≤ 1 000)과 비행기의 종류 M(1 ≤ M ≤ 10 000) 가 www.acmicpc.net 기본 알고리즘 MST 최소 신장 트리 개념 문제 MST의 원칙: 간선의 개수 = (정점의 개수)-1 비행 스케줄은 항상 연결 그래프 모든 국가를 여행하기 위해 타야 하는 비행기 종류의 최소 개수 →모든 정점을 가장 적은 수의 간선으로 연결 = MST (최소 ..