본문 바로가기

백준 알고리즘17

[백준 알고리즘] 2438번 별찍기 - 1 별찍기 - 1 첫째 줄에는 별 1개, 둘째 줄에는 별 2개, N번째 줄에는 별 N개를 찍는 문제 * ** *** **** ***** #includeusing namespace std; int main(){int x;cin >> x;for (int i = 0; i < x; i++){for (int j = 0; j 2017. 5. 17.
[백준 알고리즘] 2193번 이친수 이친수 0과 1로만 이루어진 수를 이진수라 한다. 이러한 이진수 중 특별한 성질을 갖는 것들이 있는데, 이들을 이친수(pinary number)라 한다. 이친수는 다음의 성질을 만족한다.이친수는 0으로 시작하지 않는다.이친수에서는 1이 두 번 연속으로 나타나지 않는다. 즉, 11을 부분 문자열로 갖지 않는다.예를 들면 1, 10, 100, 101, 1000, 1001 등이 이친수가 된다. 하지만 0010101이나 101101은 각각 1, 2번 규칙에 위배되므로 이친수가 아니다.N(1≤N≤90)이 주어졌을 때, N자리 이친수의 개수를 구하는 프로그램을 작성하시오. #include using namespace std;int main(){ int N; cin >> N; long long arr[90]; arr.. 2017. 5. 17.
[백준 알고리즘] 1789번 수들의 합 수들의 합 서로 다른 N개의 자연수의 합이 S라고 한다. S를 알 때, 자연수 N의 최대값은 얼마일까? #include using namespace std; int main(){long long S;cin >> S; long long x=0;long long num=1;while (x < S){x = x + num;num++;} if (x == S){cout 2017. 5. 17.
[백준 알고리즘] 1193번 분수찾기 분수 찾기 무한히 큰 배열에 다음과 같이 분수들을 적혀있다.1/11/21/31/41/5…2/12/22/32/4……3/13/23/3………4/14/2…………5/1……………………………이와 같이 나열된 분수들을 1/1 -> 1/2 -> 2/1 -> 3/1 -> 2/2 -> … 과 같은 순서로 차례대로 1번, 2번, 3번, 4번, 5번, … 분수라고 하자.X가 주어졌을 때, X번째 분수를 구하는 프로그램을 작성하시오. #include using namespace std; int main(){int x;cin >> x;int i;for (i = 1; x > 0; i++){x = x - i;}if (i%2 == 1){cout 2017. 5. 17.
[백준 알고리즘] 1152번 단어의 개수 단어의 개수 영어 대소문자와 띄어쓰기만으로 이루어진 문장이 주어진다. 이 문장에는 몇 개의 단어가 있을까? 이를 구하는 프로그램을 작성하시오. 단, 단어는 띄어쓰기 하나로 구분된다고 생각한다. #include #include using namespace std; int main(){int num = 0;string word = {};getline(cin, word);for (int i = 0; i < word.length(); i++){if (word.at(i) == ' ')num++;}if (word.at(0) == ' '){num = num - 1;}if (word.at(word.length() - 1) == ' '){num = num - 1;} cout 2017. 5. 17.
[백준 알고리즘] 1065번 한수 한수 어떤 양의 정수 X의 자리수가 등차수열을 이룬다면, 그 수를 한수라고 한다. 등차수열은 연속된 두 개의 수의 차이가 일정한 수열을 말한다. N이 주어졌을 때, 1보다 크거나 같고, N보다 작거나 같은 한수의 개수를 출력하는 프로그램을 작성하시오. #include using namespace std; int t = 0; void selectSelfNum(int x){int b = (x)/100;int c = (x-(b*100))/10;int d = x-(b*100)-(c*10);if (b ==0){t++;}else{if ((b-c) == (c-d) || (d-c) == (c-b)){t++;}}} int main(){int i;cin >> i;int num[1000] = {};for (int j = 1.. 2017. 5. 17.
[백준 알고리즘] 1019 책 페이지 책 페이지 지민이는 N쪽인 책이 한권 있다. 첫 페이지는 1쪽이고, 마지막 페이지는 N쪽이다. 각 숫자가 모두 몇 번이 나오는지 출력하는 프로그램을 작성하시오. 변수의 선언으로 long long 을 사용해야 에러가 나타나지 않는다. #include using namespace std;long long ans[10];void calc(long long n, long long ten) {while (n > 0) {ans[n % 10] += ten;n = n / 10;}}int main() {long long start = 1;long long end;long long ten = 1;cin >> end;while (start 2017. 5. 17.