글

라벨이 BaekJoon인 게시물 표시

[C Programming] if문 활용해보기.

백준 알고리즘 단계별 풀어보기. 단계별 풀어보기 4번째 항목에 있는 if문 사용해보기의 문제를 풀어본 것을 게시하고자 합니다. 생각보다 if문이나 이전에 게시했던 for문은 우리가 당연히 간단하게 사용하고 있었던 코드의 요소들 중 하나라고 생각하고 있었으나 문제만 보아도 꽤나 복잡한 점을 볼 수 있었습니다. 결코 이 조건문과 반복문도 전혀 쉽지 않다는 것을 여러모로 느꼈습니다. 또한, 이 조건문과 반복문의 활용은 어떻게 하느냐에 따라 다르다는 것을 느꼈습니다. 이 두 가지만 있으면 그 어떤 코드도 짤 수는 있지 않을까라는 생각이 들기도 하였습니다. 여전히 코드를 짜는 것은 힘들고 여러 오픈 소스를 참고하고 있습니다. 코드를 스스로 손 쉽게 짜는 날까지 더 공부하고 더 많은 코드를 짜볼 필요가 있다는 것을 생각해봅니다. if문 단계의 문제들은 많지 않으나 결코 쉽지 않은 잊지 말아야할 그런 항목들의 문제가 있었습니다. 9438번 문제 문제 시험 점수를 입력받아 90~100점은 A, 80~89점은 B, 70~79점은 C, 60~69점은 D, 나머지 점수는 F를 출력하는 프로그램을 작성하시오. 입력 첫째 줄에 시험 점수가 주어진다. 시험 점수는 0보나 크거나 같고, 100보다 작거나 같은 자연수이다. 출력 시험 성적을 출력한다. 예제 입력 100 예제 출력 A 코드 #include <stdio.h> int main() { int a; scanf("%d", &a); if(a>=90)   printf("A"); else if(a>=80)   printf("B"); else if(a>=70)   printf("C"); else if(a>=60)   printf("D"); else   printf("F); } 코드 자체는 비교적 간단한 ...

[C Programming] For문 활용해보기.

Baekjoon 단계별 풀어보기 3단계 for문 활용해보기를 하나씩 정리해서 올려보고자 합니다. 다소 간단한 문제가 있을 수 있으나 본인이 조금씩 헷갈리거나 복잡한 문제 또한 있었습니다. 2741번 문제. 문제 자연수 N이 주어졌을 때, 1부터 N까지 한 줄에 하나씩 출력하는 프로그램을 작성하시오. 입력 첫째 줄에 100,000보다 작거나 같은 자연수 N이 주어진다. 출력 첫째 줄부터 N번째 줄까지 차례대로 출력한다. 예제 입력 5 예제 출력 1 2 3 4 5 코드 #include<stdio.h> int main() { int n, i; scanf("%d", &n); for(i=1; i<=n; i++)   printf("%d\n", i); } 다소 간단한 문제입니다. 입력 값으로 n을 받고 n의 크기만큼 1부터 n까지 줄넘김으로 출력받을수 있게끔 하는 문제입니다. 2742번 문제 문제 자연수 N이 주어졌을 때, N부터 1까지 한 줄에 하나씩 출력하는 프로그램을 작성하시오. 입력 첫째 줄에 100,000보다 작거나 같은 자연수 N이 주어진다. 출력 첫째 줄부터 N번째 줄까지 차례대로 출력한다. 예제 입력 5 예제 출력 5 4 3 2 1 코드 #include<stdio.h> int main() { int i,n; scanf("%d", &n); for(i=0; i<n; i++)   printf("%d\n", n-i); } 아까 문제와 비슷한 문제로 조금만 응용해주면 해결되는 문제입니다. n-i부터 줄바꿈으로 출력해주면 n부터 1까지 출력이 가능합니다. 2739번 문제 문제 N을 입력받은 뒤, 구구단 N단을 출력하는 프로그램을 작성하십시오. 출력 형식에 맞춰서 출력하면 된다. 입력 첫...

[C Programming] 2. 사칙연산

2 Stage 사칙연산 도전하기 Problem Number : 1000 Problem : 두 수를 입력받은 다음, 입력받은 두 수의 합을 출력하라. Input : 첫 줄에 두 수가 주어진다. 1 2 Output : 첫 줄에 두 수의 합을 출력한다. 3 Source Code #include <stdio.h> int main() {    int a, b;    scanf("%d %d", &a, &b);    printf("%d", a+b); } Problem Address : https://www.acmicpc.net/problem/1000 Problem Number : 1001 Problem : 두 수를 입력받은 다음, 입력받은 두 수의 뺄셈을 출력하라. Input : 첫 줄에 두 수가 주어진다. 3 2 Output : 첫 줄에 뺄셈을 출력해라. 1 Source Code #include <stdio.h> int main() {    int a, b;    scanf("%d %d", &a, &b);    printf("%d", a-b); } Problem Address : https://www.acmicpc.net/problem/1001 Problem Number : 10998 Problem : 두 수를 입력받은 다음, 입력받은 두 수의 곱을 출력하라. Input : 첫 줄에 두 수가 주어진다. 1 2 Output : 첫 줄에 두 수의 곱을 출력한다. 2 Source Code #include <stdio.h> int main() {    int a, b;    scanf("%d %d", &a, &b); ...

[C Programming] 1-8. 그대로 출력하기2

1 Stage Input / Output (입/출력 받아보기) Problem : 입력 받은 대로 출력하는 프로그램을 작성 Input : 입력이 주어진다. 입력은 최대 100줄로 이루어져 있고, 알파벳 소문자, 대문자, 공백, 숫자로만 이루어져있다. 각 줄은 100글자를 넘지 않으며, 빈 줄이 주어질 수도 있고, 각 줄의 앞 뒤에 공백이 있을 수도 있다. Output : 입력받은 그대로 출력한다. Example Input : Hello Baekjoon Online Judge Example Output : Hello Baekjoon Online Judge Source Code #include <stdio.h> int main() {     char str[101];     while(gets(str)!='\0')         puts(str); } // 1-6 과 동일한 코드로 해결할 수 있다. gets() 함수를 써준다면 scanf와 다르게   // 공백도 처리해줄 수 있다. 문자열만 출력한다면 gets() 함수와 puts() 함수는 편리하다. Problem Address : https://www.acmicpc.net/problem/11719

[C Programming] 1-7. 그대로 출력하기

1 Stage Input / Output (입/출력 받아보기) Problem : 입력 받은 대로 출력하는 프로그램을 작성. Input : 입력이 주어진다. 입력은 최대 100줄로 이루어져있고, 알파벳 소문자, 대문자, 공백, 숫자로만 이루어져있다. 각 줄은 100글자를 넘기지 않으며, 빈 줄은 주어지지 않는다. 또, 각 줄은 공백으로 시작하지 않고, 공백으로 끝나지 않는다. Output : 입력받은 그대로 출력된다. Example Input : Hello Baekjoon Online Judge Example Output : Hello Baekjoon Online Judge Source Code #include <stdio.h> int main() {     char str[101]; // 캐릭터 타입으로 배열을 101개 잡아준다.     while(gets(str) != '\0') // null이 아닐때까지 입력받는 while문을 작성한다. null이면 빠                                    // 져나오게 된다.         puts(str); // puts를 통해서 입력받은 스트링을 출력해준다. } Problem Address : https://www.acmicpc.net/problem/11718

[C Programming] 1-6. We Love Kriii

1 Stage Input / Output (입/출력 받아보기) Problem : Kriii를 위해서 격려의 문구를 출력해보자. Input : Node Output : 두 줄에 걸쳐 "강한친구 대한육군"을 한 줄에 한 번씩 출력한다. Example Output : 강한친구 대한육군 강한친구 대한육군 Source Code #include <stdio.h> int main() {    printf("강한친구 대한육군\n");    printf("강한친구 대한육군\n"); } Problem Address : https://www.acmicpc.net/problem/10718

[C Programming] 1-5. Dog

1 Stage Input / Output (입/출력 받아보기) Problem : 개를 출력하시오. Input : None. Output : 개를 출력한다. Example Output : |\_/| |q p| /} ( 0 )"""\ |"^"` | ||_/=\\__| Source Code #include <stdio.h> int main() {     printf("|\\_/|\n|q p|   /}\n( 0 )\"\"\"\\\n|\"^\"`    |\n||_/=\\\\__|"); } Problem Address : https://www.acmicpc.net/problem/10172

[C Programming] 1-4. 등록

1 Stage  Input / Output (입/출력 받아보기) Problem : 자신이 온라인 저지에서 맞은 문제의 개수와 아이디를 그대로 출력하는 프로그램을 작성. Input : None. Output : 첫 줄에 자신이 맞은 문제의 수, 둘째 줄에 아이디를 출력한다. Example Output : 123 Your_ICPC_Team_Name Source Code #include <stdio.h> int main() {     printf("3\n"); // 맞은 문제의 갯수     printf("zsc621"); // 자신의 아이디 } Problem Address : https://www.acmicpc.net/problem/7287

[C Programming] 1-3. A-B

1 Stage Input / Output (입/출력 받아보기) Problem : A-B를 계산하시오. Input : 첫째 줄에 A와 B가 주어진다. (0 < A,B < 10) Output : 첫째 줄에 A-B를 출력한다. Example Input : 3 2 Example Output : 1 Source Code #include <stdio.h> int main() {     int a, b; // 입력받을 공간을 변수로 만들어준다.     scanf("%d %d", &a, &b); // 변수에다가 입력을 해준다.     printf("%d", a-b); // 입력받은 변수를 연산을 통해 출력한다. } Problem Address : https://www.acmicpc.net/problem/1001

[C Programming] 1-2. A+B

1 Stage  Input / Output (입/출력 받아보기) Problem : 두 수 A와 B를 입력받은 다음, A+B를 출력하는 프로그램을 작성하시오. Input : 첫째 줄에 A와 B가 주어진다. (0 < A,B < 10) Output : 첫째 줄에 A+B를 출력한다. Example Input : 1 2 Example Output : 3 Source Code #include <stdio.h> int main() {     int a, b; // 입력받는 데이터를 저장할 변수를 생성한다.     scanf("%d %d", &a, &b); // 생성한 변수에 데이터를 입력한다.     printf("%d", a+b); // 입력받은 변수를 이용해 연산을 하고 출력한다. } Problem Address : https://www.acmicpc.net/problem/1000  

[C Programming] 1-1. Hello World

1 Stage Input / Output (입/출력 받아보기) Problem : Hello World!를 출력하라. Input : None Output : Hello World! Source Code #include <stdio.h> int main() {     printf("Hello World!"); // 단순 출력이 의도라면 printf 함수를 사용해도 좋고                                  // 문자열 출력만 할 것이라면 puts() 함수를 사용해도 된다. } Problem Address : https://www.acmicpc.net/problem/2557