일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 |
- 다이나믹 프로그래밍
- 2023년
- 개인 프로젝트
- 백준
- todolist
- 10월
- 6월
- 2월
- 게임 엔진 공부
- 코딩 기초 트레이닝
- 5월
- 골드메탈
- 4월
- 기초
- 개인 프로젝트 - 런앤건
- 유니티
- 프로그래머스
- 2025년
- C/C++
- 코딩 테스트
- 자료 구조
- 수학
- 2022년
- 2024년
- 유니티 심화과정
- 1월
- 3월
- 단계별로 풀어보기
- c++
- 입문
- Today
- Total
기록 보관소
[Baekjoon/백준]단계별로 풀어보기 1단계: 입출력과 사칙연산(C/C++) 본문
백준 단계별로 풀어보기 1단계: 입출력과 사칙연산
최근 문제 주제가 너무 겹치고 좀 비슷한 문제만 계속 푸는 느낌이어서 친구의 말을 듣고 단계별로 풀어보기를 시작해보려한다. 낮은 단계인만큼, 너무 기초적인 문제들이어서 접근 방법은 생략한다.
+) 2022년 1월 27일 2문제 추가 : 최근에 10번(10926번), 11번(18108번)이 추가되어 문제를 해결하고 수정.
https://www.acmicpc.net/step/1
입출력과 사칙연산 단계
입출력과 사칙연산
www.acmicpc.net
(1) 백준 2557번 : Hello World
https://www.acmicpc.net/problem/2557
2557번: Hello World
Hello World!를 출력하시오.
www.acmicpc.net
- 문제 설명
-Hello World!를 출력하시오.
- 입력과 출력
-입력: 없음
-출력: Hello World!를 출력하시오.
- 코드
#include <stdio.h>
int main(int argc, char* argv[]) {
printf("Hello World!\n");
return 0;
}
- 결과
(2) 백준 10718번: We love kriii
https://www.acmicpc.net/problem/10718
10718번: We love kriii
ACM-ICPC 인터넷 예선, Regional, 그리고 World Finals까지 이미 2회씩 진출해버린 kriii는 미련을 버리지 못하고 왠지 모르게 올해에도 파주 World Finals 준비 캠프에 참여했다. 대회를 뜰 줄 모르는 지박
www.acmicpc.net
- 문제 설명
-ACM-ICPC 인터넷 예선, Regional, 그리고 World Finals까지 이미 2회씩 진출해버린 kriii는 미련을 버리지 못하고 왠지 모르게 올해에도 파주 World Finals 준비 캠프에 참여했다.
-대회를 뜰 줄 모르는 지박령 kriii를 위해서 격려의 문구를 출력해주자.
- 입력과 출력
-입력: 본 문제는 입력이 없다.
-출력: 두 줄에 걸쳐 "강한친구 대한육군"을 한 줄에 한 번씩 출력한다.
- 코드
#include <stdio.h>
int main(int argc, char *argv[]) {
printf("강한친구 대한육군\n강한친구 대한육군\n");
return 0;
}
- 결과
(3) 백준 10171번: 고양이
https://www.acmicpc.net/problem/10171
10171번: 고양이
아래 예제와 같이 고양이를 출력하시오.
www.acmicpc.net
- 문제 설명
-아래 예제와 같이 고양이를 출력하시오.
- 입력과 출력
-입력: 없음.
-출력: 고양이를 출력한다.
- 코드
#include <stdio.h>
int main(int argc, char *argv[]) {
printf("\\ /\\\n");
printf(" ) ( ')\n");
printf("( / ) \n");
printf(" \\(__)|\n");
return 0;
}
- 결과
(4) 백준 10172번: 개
https://www.acmicpc.net/problem/10172
10172번: 개
문제 아래 예제와 같이 개를 출력하시오. 입력 출력 예제 입력 1 복사 예제 출력 1 복사 |\_/| |q p| /} ( 0 )"""\ |"^"` | ||_/=\\__|...
www.acmicpc.net
- 문제 설명
-아래 예제와 같이 개를 출력하시오.
- 입력과 출력
-입력: 없음.
-출력: 개를 출력한다.
- 코드
#include <stdio.h>
int main(int argc, char *argv[]) {
printf("|\\_/|\n");
printf("|q p| /}\n");
printf("( 0 )\"\"\"\\\n");
printf("|\"^\"` |\n");
printf("||_/=\\\\__|");
return 0;
}
- 결과
(5) 백준 1000번: A+B
https://www.acmicpc.net/problem/1000
1000번: A+B
두 정수 A와 B를 입력받은 다음, A+B를 출력하는 프로그램을 작성하시오.
www.acmicpc.net
- 문제 설명
-두 정수 A와 B를 입력받은 다음, A+B를 출력하는 프로그램을 작성하시오.
- 입력과 출력
-입력: 첫째 줄에 A와 B가 주어진다. (0 < A, B < 10)
-출력: 첫째 줄에 A+B를 출력한다.
- 코드
#include <stdio.h>
int main(int argc, char *argv[]) {
int A, B;
scanf("%d %d", &A, &B);
printf("%d\n", A + B);
return 0;
}
- 결과
(6) 백준 1001번: A - B
https://www.acmicpc.net/problem/1001
1001번: A-B
두 정수 A와 B를 입력받은 다음, A-B를 출력하는 프로그램을 작성하시오.
www.acmicpc.net
- 문제 설명
-두 정수 A와 B를 입력받은 다음, A-B를 출력하는 프로그램을 작성하시오.
- 입력과 출력
-입력: 첫째 줄에 A와 B가 주어진다. (0 < A, B < 10)
-출력: 첫째 줄에 A-B를 출력한다.
- 코드
#include <stdio.h>
int main(int argc, char *argv[]) {
int A, B;
scanf("%d %d", &A, &B);
printf("%d\n", A - B);
return 0;
}
- 결과
(7) 백준 10998번: A × B
https://www.acmicpc.net/problem/10998
10998번: A×B
두 정수 A와 B를 입력받은 다음, A×B를 출력하는 프로그램을 작성하시오.
www.acmicpc.net
- 문제 설명
-두 정수 A와 B를 입력받은 다음, A×B를 출력하는 프로그램을 작성하시오.
- 입력과 출력
-입력: 첫째 줄에 A와 B가 주어진다. (0 < A, B < 10)
-출력: 첫째 줄에 A×B를 출력한다.
- 코드
#include <stdio.h>
int main(int argc, char *argv[]) {
int A, B;
scanf("%d %d", &A, &B);
printf("%d\n", A * B);
return 0;
}
- 결과
(8) 백준 1008번: A/B
https://www.acmicpc.net/problem/1008
1008번: A/B
두 정수 A와 B를 입력받은 다음, A/B를 출력하는 프로그램을 작성하시오.
www.acmicpc.net
- 문제 설명
-두 정수 A와 B를 입력받은 다음, A/B를 출력하는 프로그램을 작성하시오.
- 입력과 출력
-입력: 첫째 줄에 A와 B가 주어진다. (0 < A, B < 10)
-출력: 첫째 줄에 A/B를 출력한다. 실제 정답과 출력값의 절대오차 또는 상대오차가 10-9 이하이면 정답이다.
- 코드
#include <stdio.h>
int main(int argc, char *argv[]) {
double A, B;
scanf("%lf %lf", &A, &B);
printf("%.13lf\n", A / B);
return 0;
}
- 결과
(9) 백준 10869번: 사칙연산
https://www.acmicpc.net/problem/10869
10869번: 사칙연산
두 자연수 A와 B가 주어진다. 이때, A+B, A-B, A*B, A/B(몫), A%B(나머지)를 출력하는 프로그램을 작성하시오.
www.acmicpc.net
- 문제 설명
-두 자연수 A와 B가 주어진다. 이때, A+B, A-B, A*B, A/B(몫), A%B(나머지)를 출력하는 프로그램을 작성하시오.
- 입력과 출력
-입력: 두 자연수 A와 B가 주어진다. (1 ≤ A, B ≤ 10,000)
-출력: 첫째 줄에 A+B, 둘째 줄에 A-B, 셋째 줄에 A*B, 넷째 줄에 A/B, 다섯째 줄에 A%B를 출력한다.
- 코드
#include <stdio.h>
int main(int argc, char *argv[]) {
int A, B;
scanf("%d %d", &A, &B);
printf("%d\n", A + B);
printf("%d\n", A - B);
printf("%d\n", A * B);
printf("%d\n", A / B);
printf("%d\n", A % B);
return 0;
}
- 결과
(10) 백준 10926번: ??!
https://www.acmicpc.net/problem/10926
10926번: ??!
준하는 사이트에 회원가입을 하다가 joonas라는 아이디가 이미 존재하는 것을 보고 놀랐다. 준하는 놀람을 ??!로 표현한다. 준하가 가입하려고 하는 사이트에 이미 존재하는 아이디가 주어졌을 때
www.acmicpc.net
- 문제 설명
-준하는 사이트에 회원가입을 하다가 joonas라는 아이디가 이미 존재하는 것을 보고 놀랐다. 준하는 놀람을 ??!로 표현한다. 준하가 가입하려고 하는 사이트에 이미 존재하는 아이디가 주어졌을 때, 놀람을 표현하는 프로그램을 작성하시오.
- 입력과 출력
-입력: 첫째 줄에 준하가 가입하려고 하는 사이트에 이미 존재하는 아이디가 주어진다. 아이디는 알파벳 소문자로만 이루어져 있으며, 길이는 50자를 넘지 않는다.
-출력: 첫째 줄에 준하의 놀람을 출력한다. 놀람은 아이디 뒤에 ??!를 붙여서 나타낸다.
- 코드
#include <stdio.h>
int main(int argc, char *argv[]) {
char ID[51];
scanf("%s", ID);
printf("%s??!\n", ID);
return 0;
}
- 결과
(11) 백준 18108번: 1998년생인 내가 태국에서는 2541년생?!
https://www.acmicpc.net/problem/18108
18108번: 1998년생인 내가 태국에서는 2541년생?!
ICPC Bangkok Regional에 참가하기 위해 수완나품 국제공항에 막 도착한 팀 레드시프트 일행은 눈을 믿을 수 없었다. 공항의 대형 스크린에 올해가 2562년이라고 적혀 있던 것이었다. 불교 국가인 태국
www.acmicpc.net
- 문제 설명
-ICPC Bangkok Regional에 참가하기 위해 수완나품 국제공항에 막 도착한 팀 레드시프트 일행은 눈을 믿을 수 없었다. 공항의 대형 스크린에 올해가 2562년이라고 적혀 있던 것이었다.
불교 국가인 태국은 불멸기원(佛滅紀元), 즉 석가모니가 열반한 해를 기준으로 연도를 세는 불기를 사용한다. 반면, 우리나라는 서기 연도를 사용하고 있다. 불기 연도가 주어질 때 이를 서기 연도로 바꿔 주는 프로그램을 작성하시오.
- 입력과 출력
-입력: 서기 연도를 알아보고 싶은 불기 연도 y가 주어진다. (1000 ≤ y ≤ 3000)
-출력: 불기 연도를 서기 연도로 변환한 결과를 출력한다.
- 코드
#include <stdio.h>
int main(int argc, char *argv[]) {
int y;
scanf("%d", &y);
printf("%d\n", y - 543); //2541 - 1998 = 543
return 0;
}
- 결과
(12) 백준 10430번: 나머지
https://www.acmicpc.net/problem/10430
10430번: 나머지
첫째 줄에 A, B, C가 순서대로 주어진다. (2 ≤ A, B, C ≤ 10000)
www.acmicpc.net
- 문제 설명
-(A+B)%C는 ((A%C) + (B%C))%C 와 같을까?
(A×B)%C는 ((A%C) × (B%C))%C 와 같을까?
세 수 A, B, C가 주어졌을 때, 위의 네 가지 값을 구하는 프로그램을 작성하시오.
- 입력과 출력
-입력: 첫째 줄에 A, B, C가 순서대로 주어진다. (2 ≤ A, B, C ≤ 10000)
-출력: 첫째 줄에 (A+B)%C, 둘째 줄에 ((A%C) + (B%C))%C, 셋째 줄에 (A×B)%C, 넷째 줄에 ((A%C) × (B%C))%C를 출력한다.
- 코드
#include <stdio.h>
int main(int argc, char *argv[]) {
int A, B, C;
scanf("%d %d %d", &A, &B, &C);
printf("%d\n", (A + B) % C);
printf("%d\n", ((A % C) + (B % C)) % C);
printf("%d\n", (A * B) % C);
printf("%d\n", ((A % C) * (B % C)) % C);
return 0;
}
- 결과
(13) 백준 2588번: 곱셈
https://www.acmicpc.net/problem/2588
2588번: 곱셈
첫째 줄부터 넷째 줄까지 차례대로 (3), (4), (5), (6)에 들어갈 값을 출력한다.
www.acmicpc.net
- 문제 설명
-(세 자리 수) × (세 자리 수)는 다음과 같은 과정을 통하여 이루어진다.
(1)과 (2)위치에 들어갈 세 자리 자연수가 주어질 때 (3), (4), (5), (6)위치에 들어갈 값을 구하는 프로그램을 작성하시오.
- 입력과 출력
-입력: 첫째 줄에 (1)의 위치에 들어갈 세 자리 자연수가, 둘째 줄에 (2)의 위치에 들어갈 세자리 자연수가 주어진다.
-출력: 첫째 줄부터 넷째 줄까지 차례대로 (3), (4), (5), (6)에 들어갈 값을 출력한다.
- 코드
#include <stdio.h>
int main(int argc, char *argv[]) {
int A, B;
int h, t, u;
scanf("%d", &A);
scanf("%d", &B);
h = (B % 1000) / 100; //백의 자리
t = (B % 100) / 10; //십의 자리
u = B % 10; //일의 자리
printf("%d\n", A * u);
printf("%d\n", A * t);
printf("%d\n", A * h);
printf("%d\n", A * B);
return 0;
}
- 결과
'코딩 테스트 > 백준' 카테고리의 다른 글
[Baekjoon/백준]단계별로 풀어보기 3단계: for문(C/C++) (0) | 2022.01.12 |
---|---|
[Baekjoon/백준]단계별로 풀어보기 2단계: if문(C/C++) (0) | 2022.01.11 |
[BaekJoon/백준] 13325번: 이진 트리(C/C++) (0) | 2022.01.09 |
[BaekJoon/백준] 15900번: 나무 탈출(C/C++) (0) | 2022.01.08 |
[BaekJoon/백준] 14218번: 그래프 탐색 2(C/C++) (0) | 2022.01.07 |