C++ 기본 문법을 정리하면서 백준에 있는 문제들을 풀고 그 풀이법을 정리해보고자 한다.
입출력과 사칙연산
10869번 사칙연산
#include <iostream>
using namespace std;
int main(){
int a;
int b;
cin >> a >> b;
cout << a+b <<endl;
cout << a-b <<endl;
cout << a*b <<endl;
cout << a/b <<endl;
cout << a%b <<endl;
return 0;
}
2588 곱셈
#include <iostream>
using namespace std;
int main(){
int A, B;
cin >> A >> B;
int X, Y, Z, W;
X = A * (B%10);
Y = A * ((B/10)%10);
Z = A * (B/100);
W = X+Y*10+Z*100;
cout << X <<endl <<Y<<endl<<Z<<endl<<W<<endl;
return 0;
}
if문
시험 성적
#include <iostream>
using namespace std;
int main(){
int score;
cin >> score;
if(score < 60) cout << "F";
else if(score < 70) cout << "D";
else if(score < 80) cout << "C";
else if(score < 90) cout << "B";
else cout << "A";
return 0;
}
알람 시계
#include <iostream>
using namespace std;
int main(void){
int a, b;
cin >> a >> b;
if(b < 45){
b += 15;
a--;
}
else
b -= 45;
if(a < 0)
a = 23;
cout << a << " "<< b;
}
for문, while문
2739 구구단
#include <iostream>
using namespace std;
int main()
{
int n;
cin>>n;
for(int i=1; i<=9; i++)
{
cout<<n<<" * "<<i<<" = "<<n*i<<'\n';
}
}
2741 N찍기
#include <iostream>
using namespace std;
int main()
{
int n;
cin>>n;
for(int i=1; i<=n; i++)
{
cout << i << "\n";
}
}
endl로 하면 시간초과가 뜨는데 \n 을 하면 시간초과가 안뜬다. 이 점 유의하도록
1110 더하기 사이클
#include <iostream>
using namespace std;
int main()
{
int n;
int temp1;
int temp2;
int temp=-1;
int count=0;
cin >> n;
temp=n;
while (1){
temp1=(temp%10)*10;
temp2= ((temp%10) + (temp/10))%10;
temp=temp1+temp2;
count++;
if (temp ==n){
break;
}
}
cout << count << endl;
}
1차원 배열
4344 평균은 넘겠지
#include <iostream>
using namespace std;
int main() {
int c, n, num;
int avg;
int score[1000] = { 0 };
double result;
cin >> c;
for (int i = 0; i < c; i++) {
avg = 0;
num = 0;
cin >> n;
for (int j = 0; j < n; j++) {
cin >> score[j];
avg = avg + score[j];
}
avg = avg / n;
for (int j = 0; j < n; j++) {
if (score[j] > avg)
num++;
}
result = (double)num / n * 100;
cout << fixed;
cout.precision(3);
cout << result << "%" << endl;
}
}
함수
1065 한수
#include <iostream>
using namespace std;
bool hansoo(int a){
if(a < 100)
return true;
int a1, a2, a3;
a3 = a / 100;
a1 = a % 10;
a2 = a % 100 / 10;
if(a3-a2 == a2-a1)
return true;
return false;
}
int main(void){
int N, count = 0;
cin>>N;
for(int i =1; i <= N; i++){
if(hansoo(i))
count++;
}
cout<<count;
}
'Algorithm(알고리즘) > C언어' 카테고리의 다른 글
C언어 변수값 SWAP 하기. (0) | 2018.11.12 |
---|---|
C언어 최대공약수, 최소공배수 구하기 (0) | 2018.10.24 |
C언어 2018년 달,월 입력하면 요일 나오게 하기. (0) | 2018.10.24 |
C언어 함수를 이용한 Fibonacci 수열 최댓값 및 정렬하기. (0) | 2018.10.24 |