백준 c++ 2447번 별찍기 - 10 문제 : 풀이 : 첫 번째 접근 : 모든 공백을 통해 규칙 살펴보기 ( X ) 이렇게 모든 공백을 가정해보면 규칙이 눈에 들어오지 않는다. 생각을 해야한다. 일반화된 규칙을 찾아 재귀함수를 이용해 별을 찍을 수 있지 않을까 두 번째 접근 : 재귀함수를 이용해 분할해서 생각하기 (i, j, n)을 재귀함수가 받아 처리한다고 생각해보자 재귀함수를 이용해서 9 x 9 (n=9)일 때 i,j 좌표가 중앙일 때 공백을 출력한다. 그 다음 3 x 3 (n=3)일 때 i,j 좌표가 중앙일 때 공백을 출력한다. n이 1이 되면 중단한다. 이렇게 n을 3으로 나누며 실행하는 재귀함수를 통해 원하는 별찍기 결과를 얻을 수 있다. 그런데 규칙은 어떻게 작성해야할까? 9x9 일 때(n=..
백준 문제풀이 4948번 문제 : 베르트랑 공준 문제 : 소스코드 : #include using namespace std; int primeNum(int n) { int size = 123456 * 2 + 1; int a[size] = {0,1}; int cnt = 0; for(int i=2; i
백준 문제풀이 1978번 문제 : 소수 찾기 문제 : 소스코드 : #include using namespace std; int primeNum(int num) { int sum = 0; for(int i=1; i> n; for(int i=0; i> m; k = primeNum(m); count += k; } cout m >> n; for(int i=m; i 0) && (firstPossible == true)) { firstPossible = false; firstNum = i; } } if (firstPossible == true) { cout
백준 문제풀이 10250번 문제 : ACM 호텔 문제 : 소스코드 : #include using namespace std; int main() { ios::sync_with_stdio(false); cin.tie(NULL); cout.tie(NULL); int t; int h, w, n; int result; cin >> t; for(int i=0; i> h >> w >> n; // 맨위층 if (n % h == 0) { result = n / h; result += h * 100; cout > n; cout a >> b; // a와 b 맨 앞에 "0" 넣기 a.insert(0, "0"); b.insert(0, "0"); // string a와 b의 길이 맞추기 , ex) 0524 02811 -> 005..
백준 문제풀이 1712번 문제 : 손익분기점 문제 : 소스코드 : #include using namespace std; int main() { ios::sync_with_stdio(false); cin.tie(NULL); cout.tie(NULL); int a, b, c; cin >> a >> b >> c; // a + bx =c 면 손익분기점이 존재하지 않는다. int result; if ( b >= c ) { result = -1; } else { result = (a / (c - b)) + 1; } cout > n; // 2~7까지 1번, 8~19까지 2번, 20~37까지 3..
문자열에 대한 학습 문자들 아스키코드로 출력 : (int) 기본적인 형 변환 string -> int : stoi(x) char -> int : atoi(x) , x - '0' int -> char : (char)x stoi = string to int stof = string to float stol = string to long stod = string to double 대소문자 변환 대문자 -> 소문자 : +32 , tolower 소문자 -> 대문자 : -32 , toupper 문자열에서 숫자 구분해서 출력 for (int i = 0; i = '0' && s[i] s; vector v; for(int i=0; i