티스토리 뷰
이번 포스팅은 백준 알고리즘 사이트의 1924번 2007년 문제를 C 언어로 코딩해보겠습니다. 아래 url로 접속하시면 문제를 볼 수 있습니다.
https://www.acmicpc.net/problem/1924
지난 백준 알고리즘 포스팅과 같은 단계로 for문 사용해보기 단계의 문제입니다.
이 문제의 경우 사용자로부터 월, 일에 해당하는 정수형 x와 y를 입력 받고, 입력 받은 월/일에 해당하는 요일이 언제인지를 출력해주는 문제입니다.
주어진 입력에 대해 어떻게 처리를 해서 해당 요일을 반환할 것인지를 생각해보시면 도움이 될 것 같습니다.
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 31 32 33 34 35 | #include <stdio.h> void main() { int x, y, i, day = 0; int monthArr[12] = { 31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31 }; scanf("%d %d", &x, &y); for (i = 0; i < (x - 1); i++) day += monthArr[i]; day += y; day = day % 7; switch (day) { case 0: printf("SUN"); break; case 1: printf("MON"); break; case 2: printf("TUE"); break; case 3: printf("WED"); break; case 4: printf("THU"); break; case 5: printf("FRI"); break; case 6: printf("SAT"); default: break; } } | cs |
먼저 사용자의 월/일을 입력 받기 위한 변수 x, y와 for문을 위한 i, 요일을 계산하기 위한 day를 정수형 변수로 선언합니다.
int형 배열을 monthArr로 선언하고, 크기를 12로 둬서 각 월에 해당하는 일의 값을 넣어줍니다.
1, 3, 5, 7, 8, 10, 12월은 31일, 4, 6, 9, 11월은 30일, 2월의 경우 28일이기에 각 월에 해당하는 일을 배열의 값으로 넣어줍니다.
scanf를 이용해 월과 일에 해당하는 x와 y의 값을 각각 입력 받습니다.
for문을 사용하여 i는 0부터 i는 x-1까지 반복시키면서 day에 monthArr값을 넣어줍니다.
이 코드의 경우 day에 입력받은 월의 직전의 달까지의 일 수를 모두 더해주는 것을 의미합니다.
이 day에 y의 값을 더해주면서 입력받은 월, 일을 며칠인지를 계산할 수 있게 됩니다.
마지막으로 11라인부터 33라인은 switch문으로 day를 7로 나눈 나머지를 다시 day에 넣어 해당 값에 대해 월요일~일요일을 출력해주는 코드입니다.
코드 자체는 어려운 코드가 없지만, 입력 받은 월과 일을 어떻게 처리할지에 대한 고민을 해야하는 문제입니다.
입력으로 받는 데이터에 대해 어떻게 가공하여 사용할 것인지를 생각해보면 좋을 것 같습니다.
다음 포스팅에서는 다음 단계의 코드를 보도록 하겠습니다.
다음 포스팅에서 봐요 :))
'BaekJoon > C' 카테고리의 다른 글
[BaekJoon/C] 백준 11720번 숫자의 합 (1) | 2018.12.21 |
---|---|
[BaekJoon/C] 백준 8393번 합 (0) | 2018.12.21 |
[BaekJoon/C] 백준 2441번 별찍기-4 (0) | 2018.10.29 |
[BaekJoon/C] 백준 2440번 별찍기-3 (0) | 2018.10.24 |
[BaekJoon/C] 백준 2439번 별찍기-2 (0) | 2018.10.24 |
- Total
- Today
- Yesterday
- 구글 애드센스 후기
- Google Adsense
- 승인 후기
- 구글
- C 언어
- 웹해킹
- ubuntu 18.04 LTS
- Python 언어
- 구글 애드센스 설치
- 백준
- 백준 코딩
- Ubuntu 18.04
- python 코딩
- 우분투
- GIT
- webhacking.kr
- Git Bash
- 구글 애드센스 승인
- ubuntu
- C 코딩
- c
- 구글 애드센스
- 백준 알고리즘
- webhacking
- github
- python
- 우분투 18.04
- tistory blog
- Oldzombie
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 | 31 |