728x90

BOJ 39

[백준/C] 2884번: 알람 시계

https://www.acmicpc.net/problem/2884 2884번: 알람 시계 상근이는 매일 아침 알람을 듣고 일어난다. 알람을 듣고 바로 일어나면 다행이겠지만, 항상 조금만 더 자려는 마음 때문에 매일 학교를 지각하고 있다. 상근이는 모든 방법을 동원해보았지만, www.acmicpc.net 문제 분석 24시간을 나타내는 시간을 입력한 뒤 45분을 빼주면 된다. 코드 진행 방향 시와 분을 입력받고 분에서 45를 뺀 뒤 0보다 작으면 시에서 1을 빼주고 분에 60을 더해준다. 시도 마찬가지로 0보다 작으면 24를 더해준다. 코드 더보기 #include int main(){ int h, m; scanf("%d", &h); scanf("%d", &m); m-=45; if(m

알고리즘/백준 2022.06.14

[백준/C] 2588번: 곱셈

https://www.acmicpc.net/problem/2588 2588번: 곱셈 첫째 줄부터 넷째 줄까지 차례대로 (3), (4), (5), (6)에 들어갈 값을 출력한다. www.acmicpc.net 문제 분석 세 자리 수 × 세 자리 수는 하나의 수에 나머지 수를 각 자리수마다 곱해주어 계산한 뒤 모두 더해준다. 코드 진행 방향 처음 입력받은 수에 두 번째로 입력받은 수를 각 자리마다 나누어 곱해준다. 두 번째 수를 나눌 때는 일의 자리부터 10으로 나눈 나머지를 구하고 십의 자리는 10으로 나눈 몫을 10으로 나누어 나머지를 구한다. 백의 자리는 100으로 나눈 몫을 구하면 된다. 그 후 자리에 맞게 곱하여 출력한 뒤 모두 더하여 출력하면 된다. 코드 더보기 #include int main(){..

알고리즘/백준 2022.06.14

[백준/C] 10950번: A+B - 3

https://www.acmicpc.net/problem/10950 10950번: A+B - 3 두 정수 A와 B를 입력받은 다음, A+B를 출력하는 프로그램을 작성하시오. www.acmicpc.net 문제 분석 첫째 줄에 테스트 케이스의 개수를 입력 받아 테스트 케이스만큼 반복해서 진행한다. 두 개의 수를 연속으로 입력받은 후 두 수를 더해 출력하면 된다. 코드 진행 방향 테스트 케이스의 수만큼 반복문을 통해 진행한다. 코드 더보기 #include int main(){ int t, a, b, result; scanf("%d", &t); for(int i=0; i

알고리즘/백준 2022.06.14

[백준/C] 2753번: 윤년

https://www.acmicpc.net/problem/2753 2753번: 윤년 연도가 주어졌을 때, 윤년이면 1, 아니면 0을 출력하는 프로그램을 작성하시오. 윤년은 연도가 4의 배수이면서, 100의 배수가 아닐 때 또는 400의 배수일 때이다. 예를 들어, 2012년은 4의 배수이면서 www.acmicpc.net 문제 분석 윤년은 4의 배수일 때, 100의 배수가 아닐 때 또는 400의 배수일 때이다. 코드 진행 방향 조건문을 사용하여 4의 배수일 때를 먼저 나눈 뒤, 100의 배수가 아니거나 또는 400의 배수이거나의 조건을 사용해 나누어준다. 코드 더보기 #include int main(){ int a, count; scanf("%d", &a); if(a%4==0){ if((a%100!=0) ..

알고리즘/백준 2022.06.14

[백준/C] 8393번: 합

https://www.acmicpc.net/problem/8393 8393번: 합 n이 주어졌을 때, 1부터 n까지 합을 구하는 프로그램을 작성하시오. www.acmicpc.net 문제 분석 두 가지 방식으로 문제를 해결할 수 있다. 단순하게 반복문을 사용하는 방식 수학적 수식을 사용하는 방식 첫 번째 방법은 for 문과 while 문을 사용하여 쉽게 해결할 수 있다. 두 번째 방법은 아래의 시그마 공식을 사용하여 계산하면 된다. 코드 첫 번째 방법 더보기 #include int main(){ int a; int result = 0; scanf("%d", &a); for(int i=1; i

알고리즘/백준 2022.06.14

[백준/C] 10430번: 나머지

https://www.acmicpc.net/problem/10430 10430번: 나머지 첫째 줄에 A, B, C가 순서대로 주어진다. (2 ≤ A, B, C ≤ 10000) www.acmicpc.net 문제 분석 A, B, C를 차례로 입력받아 (A+B)%C, ((A%C)+(B%C))%C, (A*B)%C, ((A%C)*(B%C))%C 를 차례로 출력하면 된다. 코드 더보기 #include int main(){ 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", ((a%c)*(b%c))%c); }

알고리즘/백준 2022.06.14

[백준/C] 2739번: 구구단

https://www.acmicpc.net/problem/2739 2739번: 구구단 N을 입력받은 뒤, 구구단 N단을 출력하는 프로그램을 작성하시오. 출력 형식에 맞춰서 출력하면 된다. www.acmicpc.net 문제 분석 코딩을 입문했다면 누구나 접해보았을 법한 반복문의 대명사 '구구단'..! 반복문을 사용하여 아홉줄을 출력하면 된다. 코드 진행 방향 for 문, while 문 중 하나를 사용하여 counting 되는 변수와 함께 한 줄 한 줄 출력한다. 코드 더보기 #include int main(){ int a, result; scanf("%d", &a); for(int i=1; i

알고리즘/백준 2022.06.14

[백준/C] 10869번: 사칙연산

https://www.acmicpc.net/problem/10869 10869번: 사칙연산 두 자연수 A와 B가 주어진다. 이때, A+B, A-B, A*B, A/B(몫), A%B(나머지)를 출력하는 프로그램을 작성하시오. www.acmicpc.net 문제 분석 기본적인 사칙연산 계산 문제이다. 곱하기의 경우 int 자료형 내의 계산이 가능하기 때문에 int 자료형을 사용하여 변수를 입력 받아 계산한다. +, -, *, /, % 순서대로 계산해주면 된다. 코드 더보기 #include int main(){ int a, b; scanf("%d", &a); scanf("%d", &b); printf("%d\n", a+b); printf("%d\n", a-b); printf("%d\n", a*b); printf(..

알고리즘/백준 2022.06.14

[백준/C] 1085번: 직사각형에서 탈출

https://www.acmicpc.net/problem/1085 1085번: 직사각형에서 탈출 한수는 지금 (x, y)에 있다. 직사각형은 각 변이 좌표축에 평행하고, 왼쪽 아래 꼭짓점은 (0, 0), 오른쪽 위 꼭짓점은 (w, h)에 있다. 직사각형의 경계선까지 가는 거리의 최솟값을 구하는 프로그램 www.acmicpc.net 문제 분석 입력받은 한수의 위치 (x, y)에서 (0, 0)과 (w, h)를 각 대각 꼭짓점으로 갖는 직사각형의 각 변과의 거리를 구하여 최솟값을 구하는 문제이다. 코드 진행 방향 직사각형을 만들어 x와 w-x 중 작은 값과 y와 h-y 중 작은 값을 비교해 최솟값을 구한다. 코드 더보기 #include int main(){ int x, y, w, h; scanf("%d %d ..

알고리즘/백준 2022.06.12
728x90