BOJ 4

[백준] 25206 with C++

문제설명 입출력 예제 개념 학점의 평균을 계산하는 문제다. 학점을 계산하는 방법은 다음과 같다. 전공 학점: 학점 * 과목 평점 전공 학점 평균: 전공 학점 / 총 학점 P 과목은 제외 따라서 전공 학점들을 계산하여 모두 더한 후 총 학점으로 나눠주면 문제를 해결할 수 있다. 풀이 (1) #include int main() { int count = 0; float sum = 0; float grades[9] = { 0 }; std::string str[9] = { "A+", "A0", "B+", "B0", "C+", "C0", "D+", "D0", "F"}; 신청한 총 학점을 계산할 count, 학점의 총합을 계산할 sum, A+부터 F까지 학점을 계산할 grades 변수를 선언한다. for (int i..

Algorithm/백준 2023.04.05

[백준] 2563 with C++

문제설명 입출력 예제 개념 겹친 색종이를 제외한 나머지의 색종이의 넓이를 구하는 문제다. 전체 넓이에서 색종이가 차지하고 있는 곳을 빼는 방식과, 색종이가 차지하고 있는 곳의 개수를 찾으면 간단하게 해결되는 문제다. 풀이 #include int main() { int ary[100][100] = { 0 }; int n, result = 0; std::cin >> n; 먼저 2차원 배열 ary를 선언해 주고, 색종이의 개수를 n으로 초기화한다. 그리고 넓이를 출력할 result 변수도 선언해 준다. while (n--) { int y, x; std::cin >> y >> x; for (int i = y - 1; i < y + 9; i++) { for (int j = x - 1; j < x + 9; j++)..

Algorithm/백준 2023.04.02

[백준] 2839 C++

문제설명 입출력 예제 개념 N이 주어졌을 때, 주어진 3kg 봉지와 5kg 봉지를 이용해 3x + 5y = N을 만족하는 최소의 정수쌍의 합을 구하는 문제다. 이때 이러한 해를 만족하는 정수쌍이 존재하지 않을 때는 -1을 출력해야 하며, x나 y에 0이 들어갈 수 있다는 것을 유념해야 한다. 알고리즘 필자의 경우엔 3x + 5y = N을 y에 대해 정리하여 y = -3x/5 + N/5로 표현한 뒤, 다음과 같은 과정으로 문제를 풀었다. x = 0부터 y = -3x/5 + N/5가 정수가 되는 (x,y)의 값을 찾고, 배열에 x + y를 넣음 (개수를 묻는 문제이므로) 만약 -3x/5 + N/5 < 0이 되면 더이상 0을 넘는 값을 찾을 수 없음 일련의 과정을 통해 x + y의 값을 배열에 넣은 후, 배열..

Algorithm/백준 2023.01.24