본문 바로가기

전체 글718

[백준 2908] 상수 [C] 풀이 세 자리 수만 입력받기 때문에 반복문을 사용해 숫자를 뒤집어 주지 않고, 직접 각 자리수를 계산하는 방식이 더 효율적이다. (num[i]/100) + (num[i]/10% 10 *10) + (num[i]%10 *100); //입력받은 수가 뒤집힌 1의 자리, 10의 자리, 100의 자리의 합이다. 소스코드 #include int main(){ int num[2]; scanf("%d %d", &num[0], &num[1]); for (int i = 0; i num[1] ? num[0] : nu.. 2021. 7. 10.
[백준 2884] 알람 시계 [C] 풀이 M이 45 이상일 때, 입력된 시간에서 45분만 빼면된다. M이 45 미만일 때, H가 1~24 일때 H -= 1이고, H가 0일때는 23으로 변경되어야 한다. 입력된 M의 값에 상관없이 60을 더하고 45을 뺀 값을 60으로 나누었을 때 나머지를 사용하면 짧게 표현할 수 있다. 소스코드 #include int main() { int H, M; scanf("%d %d", &H, &M); if (M < 45) H = (H != 0 ? H-1 : 23); printf("%d %d", H, (M+15) % 60); } 출처 2884번: 알람 시계 상근이는 매일 아침 알람을 듣고 일어난다. 알람을 듣고 바로 일어나면 다행이겠지만, 항상 조금만 더 자려는 마음 때문에 매일 학교를 지각하고 있다. 상근이는 모.. 2021. 7. 10.
[백준 2753] 윤년 [C] 풀이 윤년일 조건은 다음과 같다. year % 4 == 0 && year % 100 != 0 year % 400 == 0 윤년인지 아닌지의 조건에 따라 1(True), 0(False)를 출력하면 된다. &&와 || 는 우선 연산에 따라 계산되므로 따로 괄호를 할 필요는 없다. 소스코드 #include int main() { int year; scanf("%d", &year); printf("%d", !(year%4) && year%100 || !(year%400)); } 출처 2753번: 윤년 연도가 주어졌을 때, 윤년이면 1, 아니면 0을 출력하는 프로그램을 작성하시오. 윤년은 연도가 4의 배수이면서, 100의 배수가 아닐 때 또는 400의 배수일 때이다. 예를 들어, 2012년은 4의 배수이면서 ww.. 2021. 7. 10.
[백준 2742] 기찍 N [C] 소스코드 #include int main() { int N; scanf("%d", &N); for (int i = N; i >= 1; i--) printf("%d\n", i); } 출처 2742번: 기찍 N 자연수 N이 주어졌을 때, N부터 1까지 한 줄에 하나씩 출력하는 프로그램을 작성하시오. www.acmicpc.net 2021. 7. 10.
[백준 2741] N 찍기 [C] 소스코드 #include int main() { int N; scanf("%d", &N); for (int i = 1; i 2021. 7. 10.
[백준 2739] 구구단 [C] 소스코드 #include int main() { int N; scanf("%d", &N); for (int i = 1; i < 10; i++) printf("%d * %d = %d\n", N, i, N * i); } 출처 2739번: 구구단 N을 입력받은 뒤, 구구단 N단을 출력하는 프로그램을 작성하시오. 출력 형식에 맞춰서 출력하면 된다. www.acmicpc.net 2021. 7. 10.