알고리즘/백준(BOJ) 문제풀이

[C++ 백준 풀이][Bronze IV] 20499, 19698, 18408, 19602, 21598, 18411, 18414, 20673, 20976, 18330번 풀이

restudy 2021. 12. 15. 10:16
반응형

백준 Online Judge의 Bronze 문제들을 간략하게 풀이만 정리해두도록 하겠습니다.

풀이할 문제들의 번호는 20499번, 19698번, 18408번, 19602번, 21598번, 18411번, 18414번, 20673번, 20976번, 18330번입니다.

(풀이한 문제 수가 적어서 랭킹을 위해 브론즈 문제들을 풀이할 것입니다.)

Ctrl-F로 번호에 대응되는 코드를 찾으면 조금 더 수월합니다.

 

 

20499번 : Darius님 한타 안 함?

1
2
3
4
5
6
7
8
9
10
#include <cstdio>
using namespace std;
 
int main() {
    int K, D, A;
    scanf("%d/%d/%d"&K, &D, &A);
    if(K+A<|| !D) printf("hasu");
    else printf("gosu");
}
 
cs

 

19698번 : 헛간 청약

1
2
3
4
5
6
7
8
9
10
11
#include <cstdio>
using namespace std;
 
int main() {
    int N, W, H, L, Ans;
    scanf("%d %d %d %d"&N, &W, &H, &L);
    Ans = (W/L) * (H/L);
    if(N >= Ans) printf("%d", Ans);
    else printf("%d", N);
}
 
cs

 

18408번 : 3 つの整数 (Three Integers)

1
2
3
4
5
6
7
8
9
10
11
12
13
14
#include <cstdio>
using namespace std;
 
int main() {
    int a, one = 0, two = 0;
    for(int i=0; i<3; i++) {
        scanf("%d"&a);
        if(a == 1) one++;
        else two++;
    }
    if(one > two) printf("1");
    else printf("2");
}
 
cs

 

19602번 : Dog Treats

1
2
3
4
5
6
7
8
9
10
#include <cstdio>
using namespace std;
 
int main() {
    int s, m, l;
    scanf("%d %d %d"&s, &m, &l);
    if(s+m*2+l*3 >= 10printf("happy");
    else printf("sad");
}
 
cs

 

21598번: SciComLove

1
2
3
4
5
6
7
8
9
#include <cstdio>
using namespace std;
 
int main() {
    int N;
    scanf("%d"&N);
    for(int i=0; i<N; i++printf("SciComLove\n");
}
 
cs

 

18411번 : 試験 (Exam)

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
#include <cstdio>
using namespace std;
 
int main() {
    int a, b, c, temp;
    scanf("%d %d %d"&a, &b, &c);
    if(a < b) {
        temp = a;
        a = b;
        b = temp;
    }
    if(b < c) {
        temp = b;
        b = c;
        c = temp;
    }
    if(a < b) {
        temp = a;
        a = b;
        b = temp;
    }
    printf("%d", a+b);
}
 
cs

 

18414번 : X に最も近い値 (The Nearest Value)

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
#include <cstdio>
using namespace std;
 
int Abs(int a, int b) { return a-b>=0?a-b:b-a; }
 
int main() {
    int X, L, R, Min, Idx;
    scanf("%d %d %d"&X, &L, &R);
    Min = Abs(X, L);
    Idx = L;
    for(int i=L+1; i<=R; i++) {
        if(Abs(X, i) < Min) {
            Min = Abs(X, i);
            Idx = i;
        }
    }
    printf("%d", Idx);
}
 
cs

 

20673번 : Covid-19

1
2
3
4
5
6
7
8
9
10
11
#include <cstdio>
using namespace std;
 
int main() {
    int a, b;
    scanf("%d %d"&a, &b);
    if(a <= 50 && b <= 10printf("White");
    else if(b >= 30printf("Red");
    else printf("Yellow");
}
 
cs

 

20976번 : 2 番目に大きい整数 (The Second Largest Integer)

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
#include <cstdio>
using namespace std;
 
int main() {
    int a, b, c, temp;
    scanf("%d %d %d"&a, &b, &c);
    if(a < b) {
        temp = a;
        a = b;
        b = temp;
    }
    if(b < c) {
        temp = b;
        b = c;
        c = temp;
    }
    if(a < b) {
        temp = a;
        a = b;
        b = temp;
    }
    printf("%d", b);
}
 
cs

 

18330번 : Petrol

1
2
3
4
5
6
7
8
9
10
#include <cstdio>
using namespace std;
 
int main() {
    int a, b;
    scanf("%d %d"&a, &b);
    if(a <= b+60printf("%d"1500*a);
    else printf("%d"1500*(b+60)+3000*(a-b-60));
}
 
cs

 

 

결과

 

결과적으로 2363등으로 랭킹이 조금 올라갔습니다.

여유가 된다면 1000문제까지 달려볼 생각입니다.

 

 

 

반응형