백준 온라인 코딩 문제풀이
Baekjoon Online Judge
Baekjoon Online Judge 프로그래밍 문제를 풀고 온라인으로 채점받을 수 있는 곳입니다.
www.acmicpc.net
코드 참고
wny0320 (박 상운)
Run code live in your browser. Write and run code in 50+ languages online with Replit, a powerful IDE, compiler, & interpreter.
replit.com
2525, 1110번에 대해 다룸
해당 코드는 cpp로 작성되었음
2525
c#으로도 풀었던 오븐 시계 문항
시와 분을 받고 요리에 걸리는 분수를 받아 계산하여 24시간을 기준으로 시간을 적어 출력하는 문제
#include <stdio.h>
int main()
{
int h, m, time = 0;
scanf("%d %d", &h, &m);
scanf("%d", &time);
m += time;
while (m >= 60)
{
m -= 60;
h += 1;
}
if (h > 23)
h -= 24;
printf("%d %d", h, m);
}
시간을 받아 반복문을 통하여 60 이상이면 분수를 60빼고 시간에 1을 추가해주는 과정을 반복, 이후 시간이 23보다 크다면 24를 뺌
1110
마찬가지로 C#에서도 풀은 더하기 사이클 문항
#include <stdio.h>
int main()
{
int num,new_num,cnt = 0;
scanf("%d", &num);
new_num = num;
do
{
new_num = (new_num % 10 * 10) + ((new_num / 10 + new_num % 10)%10);
cnt++;
} while (new_num != num);
printf("%d", cnt);
}
숫자를 받아 do while문으로 원래 수가 나올때까지 반복
새로운 수는 원래 수의 1의 자리 숫자를 10의 자리로 한것에 10의 자리수와 1의 자리수의 합의 1의 자리 수
따라서 1의 자리 수를 10을 곱함
new_num % 10 * 10
-10을 나눈 나머지는 1의 자리 수, 거기에 *10이면 10의 자리수로 만듦
(new_num / 10 + new_num % 10) %10
- new_num/10 은 10의 자리수, new_num%10은 1의 자리수, 각 합에 %10을 하면 합의 1의 자리 수가 나옴
따라서 해당 식을 작성 가능함
'BaekJoon' 카테고리의 다른 글
백준 24313 알고리즘 수업 - 점근적 표기 (0) | 2023.12.06 |
---|---|
백준 10988, 9506 (0) | 2023.12.05 |
정렬 단계 2751 (0) | 2022.12.27 |
정렬 단계 25305 (0) | 2022.12.26 |
정렬 단계 2587 (0) | 2022.12.25 |