Notice
Recent Posts
천천히 빛나는
백준 단계 2 : 조건문 (C++) 본문
1330. 두 정수 A와 B가 주어졌을 때, A와 B를 비교하는 프로그램을 작성하시오.
#include <iostream>
using namespace std;
int main() {
int a, b;
cin >> a >> b;
if (a > b) {
cout << ">";
}
else if (a < b) {
cout << "<";
}
else {
cout << "==";
}
return 0;
}
if - else if - else 순서로 작성한다
9498. 시험 점수를 입력받아 90 ~ 100점은 A, 80 ~ 89점은 B, 70 ~ 79점은 C, 60 ~ 69점은 D, 나머지 점수는 F를 출력하는 프로그램을 작성하시오.
#include <iostream>
using namespace std;
int main() {
int score;
cin >> score;
if (score >= 90) {
cout << "A";
}
else if (score >= 80) {
cout << "B";
}
else if (score >= 70) {
cout << "C";
}
else if (score >= 60) {
cout << "D";
}
else {
cout << "F";
}
return 0;
}
score <= 100 && score >=90과 같이 쓰지 않아도 된다. 첫번째 조건부터 실행되기 때문이다.
2753. 첫째 줄에 윤년이면 1, 아니면 0을 출력한다.
#include <iostream>
using namespace std;
int main() {
int year;
cin >> year;
if ((year % 4 == 0) && ((year % 100 != 0) || (year % 400 == 0))) {
cout << "1";
}
else {
cout<< "0";
}
}
&& : and
|| : or
14681. 점 (x, y)의 사분면 번호(1, 2, 3, 4 중 하나)를 출력한다.
#include <iostream>
using namespace std;
int main() {
int x, y;
cin >> x >> y;
if ((x > 0) && (y > 0)) {
cout << "1" << endl;
}
else if ((x < 0) && (y > 0)) {
cout << "2" << endl;
}
else if ((x < 0) && (y < 0)) {
cout << "3" << endl;
}
else {
cout << "4" << endl;
}
}
cout << "1";이 아니라 cout << 1과 같이 작성해도 된다.
cout << (x>0 ? (y>0 ? 1 : 4) : (y>0 ? 2 : 3));
방법 1의 조건을 삼항 연산자로 작성할 수도 있다.
조건식 ? True 반환값 : False 반환값
2884. 상근이가 설정한 알람 시각이 주어졌을 때, 창영이의 방법을 사용한다면, 이를 언제로 고쳐야 하는지 구하는 프로그램을 작성하시오.
#include <iostream>
using namespace std;
int main() {
int h, m;
cin >> h >> m;
m -= 45;
while (m < 0) {
m += 60;
h -= 1;
if (h < 0) {
h = 23;
}
}
cout << h << " " << m;
return 0;
}
이 문제에서는 45분만 당기는 거라서 while을 설정해주지 않아도 무관하다. 만약 while을 사용하지 않으면 if문으로 묶어주면 된다. while로 왜 했냐면 그냥 하고 싶어서... 나중에 45분이 아닌 129분이 나와도 동작하게 만들기 위해서 이다.
2525. 훈제오리구이를 시작하는 시각과 오븐구이를 하는 데 필요한 시간이 분단위로 주어졌을 때, 오븐구이가 끝나는 시각을 계산하는 프로그램을 작성하시오.
#include <iostream>
using namespace std;
int main() {
int a, b, c;
cin >> a >> b >> c;
a += c / 60;
b += c % 60;
if (b >= 60) {
b -= 60;
a += 1;
}
if (a >= 24) {
a -= 24;
}
cout << a << " " << b;
return 0;
}
아니면 a, b를 이용해서 모두 분 단위로 바꾸어주고 c를 더한 후 출력하는 방법도 있다
2480. 3개 주사위의 나온 눈이 주어질 때, 상금을 계산하는 프로그램을 작성 하시오.
#include <iostream>
using namespace std;
int main() {
int i, j, k;
int m;
cin >> i >> j >> k;
if ((i == j) && (j == k)) {
m = 10000 + i * 1000;
}
else if ((i==j) || (i==k)) {
m = 1000 + i * 100;
}
else if (j == k) {
m = 1000 + j * 100;
}
else {
m = max(max(i, j),k) * 100;
}
cout << m;
return 0;
}
혹은 <algorithm>을 #include 하여 m = max({i,j,k})*100;과 같이 max 함수를 사용할 수도 있다.
'C++ > BAEKJOON (C++)' 카테고리의 다른 글
백준 단계 6 : 심화 1 (C++) (0) | 2023.09.03 |
---|---|
백준 단계 5 : 문자열 (C++) (0) | 2023.08.31 |
백준 단계 4 : 1차원 배열 (C++) (0) | 2023.08.18 |
백준 단계 3 : 반복문 (C++) (0) | 2023.08.16 |
백준 단계 1 : 입출력과 사칙연산 (C++) (0) | 2023.08.13 |