반응형

2741번 문제 : N찍기

https://www.acmicpc.net/problem/2741


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
#include <iostream>
using namespace std;
 
int main(void) {
    int num;
    cin >> num;
 
    for (int i = 1; i <= num; i++)
    {
        cout << i;
        if (i < num)
            cout << "\n";
    }
 
    return 0;
}
cs


메모:

-"\n" 대신 endl 사용하면 시간초과발생 (속도 \n(더 빠름)> endl)

-만약 더 속도 빠르게 하려면 cout 대신 <cstdio>의 printf함수가 더빠름



2742번 문제 : 기찍 N

https://www.acmicpc.net/problem/2742



1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
#include <iostream>
using namespace std;
 
int main(void) {
    int num;
    cin >> num;
 
    for (int i = num; i >= 1; i--)
    {
        cout << i;
        if (i > 1)
            cout << "\n";
    }
 
    return 0;
}
cs



2739번 문제 : 구구단

https://www.acmicpc.net/problem/273


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
#include <iostream>
using namespace std;
 
int main(void) {
    int num;
    cin >> num;
 
    for (int i = 1; i < 10; i++)
    {
        cout << num << " * " << i << " = " << num * i;
        if (i < 9)
            cout << "\n";
    }
 
    return 0;
}
cs


2438번 문제 : 별 찍기 - 1

https://www.acmicpc.net/problem/2438


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
#include <iostream>
using namespace std;
 
int main(void) {
    int num;
    cin >> num;
 
    for (int row = 0; row < num; row++)
    {
        for (int i = 0; i < row + 1; i++)
            cout << "*";
        if(row < num-1)
            cout << "\n";
    }
 
    return 0;
}
cs


2439번 문제 : 별 찍기 - 2

https://www.acmicpc.net/problem/2439


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
#include <iostream>
using namespace std;
 
int main(void) {
    int num;
    cin >> num;
 
    for (int row = 0; row < num; row++)
    {
        for (int i = 0; i < num-row-1; i++)
            cout << " ";
 
        for (int i = 0; i < row + 1; i++)
            cout << "*";
 
        if(row < num-1)
            cout << "\n";
    }
 
    return 0;
}
cs


메모:

-푸는 방법은 아주 다양할듯...


2440번 문제 : 별 찍기 - 3

https://www.acmicpc.net/problem/2440


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
#include <iostream>
using namespace std;
 
int main(void) {
    int num;
    cin >> num;
 
    for (int row = 0; row < num; row++)
    {
        for (int i = 0; i < num-row; i++)
            cout << "*";
 
        if(row < num-1)
            cout << "\n";
    }
 
    return 0;
}
cs


2441번 문제 : 별 찍기 - 4

https://www.acmicpc.net/problem/2441


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
#include <iostream>
using namespace std;
 
int main(void) {
    int num;
    cin >> num;
 
    for (int row = 0; row < num; row++)
    {
        for (int i = 0; i < row; i++)
            cout << " ";
 
        for (int i = 0; i < num-row; i++)
            cout << "*";
 
        if(row < num-1)
            cout << "\n";
    }
 
    return 0;
}
cs


1924번 문제 : 2007년

https://www.acmicpc.net/problem/1924


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
#include <iostream>
#include <string>
using namespace std;
 
int main(void) {
 
    string dayName[7= { "SUN" , "MON""TUE""WED""THU""FRI""SAT" };
    int month[13= { 0312831303130313130313031 };
    int totalDays = 0;
    int inputM, inputD;
 
    cin >> inputM >> inputD;
 
    for (int i = 0; i < inputM; i++)
        totalDays += month[i];
    totalDays += inputD;
    int leftover = totalDays % 7;
 
    cout << dayName[leftover];
 
    return 0;
}
cs


8393번 문제 : 합

https://www.acmicpc.net/problem/8393


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
#include <iostream>
using namespace std;
 
int main(void) {
 
    int input;
    int sum = 0;
    cin >> input;
 
    for (int i = 1; i <= input; i++)
    {
        sum += i;
    }
    
    cout << sum;
 
    return 0;
}
cs


11720번 문제 : 숫자의 합

https://www.acmicpc.net/problem/11720


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
#include <iostream>
#include <string>
using namespace std;
 
int main(void) {
 
    int sum = 0;
 
    int inputA;
    string inputB;
 
    cin >> inputA >> inputB;
 
    for (int i = 0; i < inputA; i++)
    {
        sum += inputB[i] - 48//Subtract 48 because of ASCII Code
    }
    
    cout << sum;
 
    return 0;
}
cs


메모:

-string의 각각 원소는 Char값인 동시에 int값을 가지고 있음. ASCII Code에 의해 0은 48부터 시작

-ASCII Code Table은 아래와 같음


Ascii Table


11721번 문제 : 열 개씩 끊어 출력하기

https://www.acmicpc.net/problem/11721


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
#include <iostream>
#include <string>
using namespace std;
 
int main() {
    string line;
    cin >> line;
 
    for (int i = 0; i < line.size(); i++)
    {
        cout << line[i];
 
        if (i !=0 && i % 10 == 9)
            cout << endl;
    }
 
    return 0;
}
cs



15552번 문제 : 빠른 A+B

https://www.acmicpc.net/problem/15552


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
#include <iostream>
#include <cstdio>
using namespace std;
 
int main() {
    
    int num;
    scanf("%d"&num);
 
    while (num > 0)
    {
        int a, b;
        scanf("%d %d"&a, &b);
        printf("%d\n", a + b);
 
        num--;
    }
 
    return 0;
}
cs


메모: 

-cin과 cout보다 빠른 c언어 계열 함수인 scanf, printf 사용

-비쥬얼스튜디오는 scanf / printf 사용하면 컴파일 에러 발생, scanf_s / printf_s 사용해야함

-cin cout를 사용하고 싶으면 

1
2
3
    ios_base::sync_with_stdio(false);
    cin.tie(NULL);
    cout.tie(NULL);
cs
이런 방법이 있다고함... (하지만 C언어 계열 함수를 사용하는게 좋다고함)


반응형

'C++ Algorithm > 백준 알고리즘 문제 풀이' 카테고리의 다른 글

1차원 배열 사용하기  (0) 2018.11.27
함수 사용하기  (0) 2018.11.18
if문 사용해보기  (0) 2018.11.14
사칙연산 도전하기  (0) 2018.11.07
입/출력 받아보기  (0) 2018.11.06

+ Recent posts