본문 바로가기

문제풀이21

[BOJ / C] 2577번 : 숫자의 개수 - 숫자의 개수 - 문제설명 이 문제를 풀며- 세자리수 곱셈의 결과는 정수형의 범위 내에서 충분히 해결할 수 있다. - 곱한 결과를 % 10 연산을 하게 되면 일의 자리의 수를 구할 수 있고, 해당 일의 자리 숫자를 카운트 한 뒤, 원래의 값을 10으로 계속 나눠주어 자릿수를 줄여나간다. - 0에서 9까지의 수의 개수를 카운트 해야 하는데 이는 배열의 인덱스와 정확히 일치한다. 그러므로 배열[일의 자리 수]로 인덱싱하여 해당 배열 요소의 값을 1씩 증가시킨다. - 자세한 것은 소스코드 참고. 내 소스 #include int main() { int input; int mul=1, result = 0; int cnt[10] = { 0, }; for (int i = 0; i < 3; i++) { scanf(".. 2019. 5. 20.
[BOJ / C] 1924번 : 2007년 - 2007년 - 문제설명 이 문제를 풀며- 1월 1일이 월요일이라는 것을 기준으로, 입력한 날짜만큼 일수를 더해 그 일수를 7로 나눈 나머지를 이용하여 요일을 판별하자. 각 달의 일수는 배열로 따로 저장해주었다.- x달 만큼 y에 일수를 더해줄 for문을 사용하였다.- y를 7로 나눈 나머지로 요일을 판별해줄 switch ~ case 문을 이용하였다. 요일을 포인터 배열을 이용하여 푸신 분의 예제도 본 적 있지만, 포인터 개념에 대한 이해가 부족한 관계로 간단한 switch ~ case 문으로 분기하였다. 내 소스 #include int main() { int x, y; int month[12] = {31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31}; scanf("%.. 2019. 5. 12.
[BOJ / C] 10430번 : 나머지 - 문제 이름 입력하기- 문제설명 이 문제를 풀며- 조건에 맞게 하드코딩 뿐 내 소스 2019. 5. 8.
[BOJ / C] 11718번 : 그대로 출력하기 - 문제 이름 입력하기- 문제설명 이 문제를 풀며- fgets라는 입력 함수를 사용해보기로 했다. fgets는 개행문자 (\n)이 올 때까지, (n-1) 개의 '문자열'을 입력받는다. 띄어쓰기가 들어가도 상관이 없다. 공백이 있을 경우 false를 반환하므로 while문에 넣어서 사용해보기로 했다. 내 소스 #include int main() { char str[101]; while(fgets(str,101,stdin)) printf("%s",str); return 0; } 채점 결과 2019. 5. 6.