728x90 BOJ45 백준 No.1504 [특정한 최단 경로] Baekjoon Online Judge No.1504 [특정한 최단 경로] Problem 1504번: 특정한 최단 경로 첫째 줄에 정점의 개수 N과 간선의 개수 E가 주어진다. (2 ≤ N ≤ 800, 0 ≤ E ≤ 200,000) 둘째 줄부터 E개의 줄에 걸쳐서 세 개의 정수 a, b, c가 주어지는데, a번 정점에서 b번 정점까지 양방향 길이 존 www.acmicpc.net Code 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 .. 2021. 2. 9. 백준 No.11066 [파일 합치기] Baekjoon Online Judge No.11066 [파일 합치기] Problem 11066번: 파일 합치기 소설가인 김대전은 소설을 여러 장(chapter)으로 나누어 쓰는데, 각 장은 각각 다른 파일에 저장하곤 한다. 소설의 모든 장을 쓰고 나서는 각 장이 쓰여진 파일을 합쳐서 최종적으로 소설의 완성본 www.acmicpc.net Code 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 #incl.. 2021. 2. 7. 백준 No.12865 [평범한 배낭] Baekjoon Online Judge No.12865 [평범한 배낭] Problem 12865번: 평범한 배낭 첫 줄에 물품의 수 N(1 ≤ N ≤ 100)과 준서가 버틸 수 있는 무게 K(1 ≤ K ≤ 100,000)가 주어진다. 두 번째 줄부터 N개의 줄에 거쳐 각 물건의 무게 W(1 ≤ W ≤ 100,000)와 해당 물건의 가치 V(0 ≤ V ≤ 1,000) www.acmicpc.net Code 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 #include #include #define weight first #define value second using nam.. 2021. 2. 6. 백준 No.10942 [팰린드롬?] Baekjoon Online Judge No.10942 [팰린드롬?] Problem 10942번: 팰린드롬? 총 M개의 줄에 걸쳐 홍준이의 질문에 대한 명우의 답을 입력으로 주어진 순서에 따라서 출력한다. 팰린드롬인 경우에는 1, 아닌 경우에는 0을 출력한다. www.acmicpc.net Code 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 #include #include using namespace.. 2021. 2. 5. BOJ No.2798 [블랙잭] Baekjoon Online Judge No.2798 [블랙잭] Code 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 #include #include using namespace std; int N, M; vector cards; int main() { cin >> N >> M; cards.resize(N); for (int i = 0; i > cards[i]; int answer = 0; for (int i = 0; i 2021. 2. 5. lower_bound, upper_bound lower_bound & upper_bound std::lower_bound - cppreference.com std::upper_bound - cppreference.com Definition lower_bound : 찾고자 하는 값 이상의 수가 처음으로 나오는 곳의 index를 구할때 사용 upper_bound : 찾고자 하는 값보다 큰 수가 처음으로 나오는 곳의 index를 구할때 사용 How to use Binary search를 기반으로 탐색되므로, 탐색되는 vector 혹은 list 는 sort 되어있어야 한다. lower_bound, upper_bound는 구하고자 하는 곳의 iterator를 return 한다. 따라서 실제로 사용할 경우 구한 lower_bound 혹은 upper_bound.. 2021. 2. 4. 백준 No.11049 [행렬 곱셈 순서] Baekjoon Online Judge No.11049 [행렬 곱셈 순서] Problem 11049번: 행렬 곱셈 순서 첫째 줄에 입력으로 주어진 행렬을 곱하는데 필요한 곱셈 연산의 최솟값을 출력한다. 정답은 231-1 보다 작거나 같은 자연수이다. 또한, 최악의 순서로 연산해도 연산 횟수가 231-1보다 작거나 같 www.acmicpc.net Code 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 7.. 2021. 2. 4. 백준 No.1912 [연속합] Baekjoon Online Judge No.1912 [연속합] Problem 1912번: 연속합 첫째 줄에 정수 n(1 ≤ n ≤ 100,000)이 주어지고 둘째 줄에는 n개의 정수로 이루어진 수열이 주어진다. 수는 -1,000보다 크거나 같고, 1,000보다 작거나 같은 정수이다. www.acmicpc.net Code 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 #include #include using namespace std; int N; vector nums; void input() { cin >> ::N; nums.assign(N, 0); for (int i = .. 2021. 2. 2. 백준 No.2603 [색종이 만들기] // Baekjoon Online Judge No.2630 [색종이 만들기] Code 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 #include #include #define DEVIDING_STANDARD 2 using namespace std; int N; vector paper; // 1 is blue, 0 is white int blue = 0; int white = 0; void DC(int len, int x, int .. 2021. 1. 24. 백준 No.2447 [별 찍기 - 10] // Baekjoon Online Judge No.2447 [별 찍기 - 10] Code 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 #include #include #include using namespace std; vector map; void solve(int n, int x, int y) { if (n == 1) { map[x][y] = '*'; return; } // cout 되는것이 아닌 map 에 입력을 하는 것. int div = n / 3; for (int i = 0; i num; map.assign(num, vector(num, ' ')); s.. 2021. 1. 24. 백준 No.10757 [큰 수 A+B] // Baekjoon Online Judge No.10757 [큰 수 A+B] Code 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 #include #include #include using namespace std; int main() { string A, B; bool AisLonger = false; bool BisLonger = true; cin >> A; cin >> B; int maxLen = B.length(); int minLen = A.length(); if (A.length().. 2021. 1. 5. 백준 No.10844 [쉬운 계단 수] // Baekjoon Online Judge No.10884 [쉬운 계단 수] Code 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 #include #include using namespace std; int N; int main() { cin >> N; vector SN; SN.assign(10, vector(N + 1, 1)); SN[0][1] = 0; for (int i = 2; i 2020. 11. 18. 백준 No.1932 [정수 삼각형] // Baekjoon Online Judge No.1932 [정수 삼각형] Code 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 #include #include #include using namespace std; vector tri; vector ground; int main() { int N; cin >> N; tri.assign(N + 1, vector(N + 1, -1)); ground.assign(N + 1, 0); for (int i = 1; i tri[i][j]; } } ground[1] += tri[1][1.. 2020. 11. 16. 백준 No.1149 [RGB거리] // Baekjoon Online Judge No.1149 [RGB거리] Code 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 #include using namespace std; int N; int price[1001][4]; int minSum[1001][4]; int main() { cin >> N; for (int i = 1; i price[i][j]; } } minSum[1][1] = price[1][1]; minSum[1][2] = price[1][2]; minSum[1][3] = price[1][3]; for (int i = 2; i 2020. 11. 10. 백준 No.1904 [01타일] // Baekjoon Online Judge No.1904 [01 타일] How to solve 복잡할 것 같아 보이지만 N에 1, 2, 3 ... 8 까지만 대입 해보아도 결국 피보나치수열을 이룬다는 것을 알 수 있다. 하지만 이 문제에서 고려해야하는 점이 두 가지 있다. 1. 피보나치 수열을 구하는 함수를 구현할 때 1,000,000번째 항까지 구해야 하므로 Time out 이 생기지 않을 방법으로 함수를 구현하여야 한다. 2. 아무리 unsigned long long 자료형을 가진다고 해도 1,000,000번째 피보나치수는 overflow를 발생시킨다. "1. 피보나치 수열을 구하는 함수를 구현할 때 1,000,000번째 항까지 구해야 하므로 Time out 이 생기지 않을 방법으로 함수를 구현하여.. 2020. 11. 6. 이전 1 2 3 다음 728x90