분류 전체보기 알고리즘/BOJ 2020. 3. 5. [C++] 백준 1018번 - 체스판 다시 칠하기 0. 문제 1. 아이디어 1) N*M으로 주어진 체스판에서 8*8 크기의 체스판으로 잘라내려면 chess[0][0]부터 chess[N-6][M-6]의 범위만 검사하면 된다. (나머지는 범위가 겹침) 2) 가장 왼쪽 모서리에 있는 문자(시작하는 문자)가 'B'와 'W'일 경우를 나눠서 생각한다. 3) 시작하는 문자 또한 고정되는 값이 아니라 바뀔 수도 있으니 해당 경우의 수도 고려해서 최솟값을 리턴한다. 2. 소스코드 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 5.. 알고리즘/BOJ 2020. 3. 4. [C++] 백준 2503번 - 숫자야구 0. 문제 1. 아이디어 1) 123부터 987까지의 모든 수들 중에서, 주어진 N개의 질문에 대해 같은 결과를 가지는 수를 카운트한다. 2. 소스코드 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 #include #include #include struct entry { std::string num; int strike; int ball; }; int main() { int N; std::cin >> N; std::vector entryV; for (int i = 0; i > input.num >> input.strike >>.. 알고리즘/BOJ 2020. 3. 1. [C++] 백준 10448번 - 유레카 이론 0. 문제 1. 아이디어 1) 1000이하의 삼각수들만 들어있는 배열을 따로 하나 생성. 2) 완전 탐색을 통해 주어진 수가 3개의 삼각수들의 합으로 표현될 수 있는지 판단. 2. 소스코드 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 #include #include int tri[1000]; bool triangleSum(int total) { for (int p = 0; tri[p] != 0; p++) { for (int q = 0; tri[q] != 0; q++) { for (int r = 0; tri[r] != 0; r++) { int sum = tri.. 알고리즘/BOJ 2020. 3. 1. [C++] 백준 3085번 - 사탕 게임 0. 문제 1. 아이디어 1) 2차원 배열을 직접 구현할 수도 있지만 string이 1차원 배열처럼 다룰 수 있다는 사실을 이용한다. 2. 소스코드 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 #include #include const int MAX = 50; int N; std::string board[MAX]; int ReadBoard() // 보드내에서 먹을 수 있는 사탕의 최대 개수 구하기 { int result = 1; for (int i.. 알고리즘/BOJ 2020. 2. 29. [C++] 백준 2231번 - 분해합 0. 문제 1. 아이디어 1) 각 자릿수를 사용해 계산을 하기 위해 '%' 연산을 통해 한 자리씩 올라간다. 2. 소스코드 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 #include int main() { int N; std::cin >> N; for (int i = 1; i 0; d /= 10) { s += d % 10; } if (s + i == N) { std::cout 알고리즘/BOJ 2020. 2. 29. [C++] 백준 2309번 - 일곱 난쟁이 0. 문제 1. 아이디어 1) 9명의 난쟁이 사이에서 7명을 골라 키의 합을 구하는 건 전체의 합에서 2명을 골라 빼는 것과 같다. 2. 소스코드 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 #include int main() { int temp, sum = 0; int height[9]; for (int i = 0; i > height[i]; sum += height[i]; } std::sort(height, height + 9); for (int i = 0; i 알고리즘/BOJ 2020. 2. 29. [C++] 백준 10866번 - 덱 0. 문제 1. 아이디어 2. 소스코드 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 #include #include int main() { std::ios_base::sync_with_stdio(0); std::cin.tie(0); int N; std::cin >> N; std::deque deq; for (int i = 0; i > str; if (str == "push_front") { int X; std::cin >> X; deq.pus.. 알고리즘/BOJ 2020. 2. 29. [C++] 백준 1966번 - 프린터 큐 0. 문제 1. 아이디어 1) '큐'만 사용해서 구현하기로 한다!! 2) 각각의 문서가 이미 인쇄가 되었는지를 기록해둘 bool 배열을 만들어둔다. 3) 중요도별 문서의 개수를 저장할 배열을 따로 생성한다! ex) 중요도가 1인 문서가 2개면 CntPerImportance[1] = 2 2. 소스코드 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 #include #include #include int main() { int .. 이전 1 ··· 3 4 5 6 7 다음