공부
-
[BOJ / C] 2443번 : 별찍기 -6Study (etc)/Problem Solving 2019. 4. 1. 11:16
- 별 찍기 -6 - 문제설명문제: 첫째 줄에는 별 2×N-1개, 둘째 줄에는 별 2×N-3개, ..., N번째 줄에는 별 1개를 찍는 문제별은 가운데를 기준으로 대칭이어야 한다. 입력:첫째 줄에 N(1 ≤ N ≤ 100)이 주어진다. 출력:첫째 줄부터 N번째 줄까지 차례대로 별을 출력한다. 이 문제를 풀기 전에- 지난 별 찍기 -5 문제는 똑바로 서 있는 피라미드 형태의 별찍기였다. - 이번 별 찍기 - 6는 -5의 모양을 뒤집은 역삼각형 형태의 별찍기이다.- -5에서의 반복문을 조금만 손 보면 손쉽게 해결할 수 있다.- 역시나 중첩 for문을 사용하여 해결한다. 내 소스 #include int main() { int input; int i, j; scanf("%d", &input); for (i = ..
-
[BOJ / C] 10871번 : X보다 작은 수Study (etc)/Problem Solving 2019. 4. 1. 10:37
- X보다 작은 수 - 문제설명문제: 정수 N개로 이루어진 수열 A와 정수 X가 주어진다. 이때, A에서 X보다 작은 수를 모두 출력하는 프로그램을 작성하시오. 입력:첫째 줄에 N과 X가 주어진다. (1 ≤ N, X ≤ 10,000)둘째 줄에 수열 A를 이루는 정수 N개가 주어진다. 주어지는 정수는 모두 1보다 크거나 같고, 10,000보다 작거나 같은 정수이다. 출력:X보다 작은 수를 입력받은 순서대로 공백으로 구분해 출력한다. X보다 작은 수는 적어도 하나 존재한다. 이 문제를 풀기 전에- 수열을 받는 문자열과 정수 X를 비교하여 출력하는 반복문을 2개를 쓰니 틀렸다.- 즉, 반복문으로 수열을 받으면서 X와 비교하여 바로 출력해야 한다는 것 같다.- 반복문을 하나만 이용하자. 내 소스 #include..
-
[BOJ / C] 2442번 : 별 찍기 - 5Study (etc)/Problem Solving 2019. 3. 31. 20:48
- 별 찍기 -5 - 문제 설명 문제:첫째 줄에는 별 1개, 둘째 줄에는 별 3개, ..., N번째 줄에는 별 2×N-1개를 찍는 문제별은 가운데를 기준으로 대칭이어야 한다. 입력:첫째 줄에 N(1 ≤ N ≤ 100)이 주어진다. 출력:첫째 줄부터 N번째 줄까지 차례대로 별을 출력한다. 이 문제를 풀기 전에...- 중첩 for문을 이용하여 각 for문에 따라 다른 역할을 부여한다. - 나와야 하는 결과 (별의 모양 및 규칙) 를 분석하자 내 소스 #include int main() { int input; int i,j; scanf("%d",&input); for(i=1;i0;j--) // 공백을 출력하기 위한 for문 printf(" "); for(j=0;j
-
[C언어] 섭씨/화씨 변환 프로그램Study (etc)/C 2019. 3. 27. 18:46
갑자기 구현해보고 싶다는 생각이 들어서 만들게 된 섭씨/화씨 변환 프로그램이다. 섭씨는 어는점 0℃, 끓는점 100℃로, 100등분하여 온도를 나타내며, 대부분 이 단위를 사용한다. 화씨는 어는점 32℉, 끓는점 212℃로 180등분하여 온도를 나타내며, 미국에서 주로 이 단위를 사용한다. 두 단위 사이에는 다음과 같은 공식이 성립한다. -섭씨 → 화씨 : °F = °C × 1.8 + 32 -화씨 → 섭씨 : °C = (°F − 32) / 1.8 이 프로그램을 구현할 때 아래와 같은 것들을 고려하였다. 1. 사용자로부터 변환할 단위를 선택할 수 있도록 한다. 2. 각 온도 변환 기능을 함수로 구현한다. 아래는 구현한 소스코드. 소스코드 #include //화씨 - 섭씨 void CelToFah(float..
-
[BOJ / C] 11721번 : 열 개씩 끊어 출력하기Study (etc)/Problem Solving 2019. 3. 25. 18:44
- 열 개씩 끊어 출력하기 - 문제 설명 문제 :알파벳 소문자와 대문자로만 이루어진 길이가 N인 단어가 주어진다.한 줄에 10글자 씩 끊어서 출력하는 프로그램을 작성하시오. 입력 :첫째 줄에 단어가 주어진다. 단어는 알파벳 소문자와 대문자로만 이루어져 있으며, 길이는 100을 넘지 않는다. 길이가 0인 단어는 주어지지 않는다. 출력 :입력으로 주어진 단어를 열 개씩 끊어서 한 줄에 하나씩 출력한다. 단어의 길이가 10의 배수가 아닌 경우에는 마지막 줄에는 10개 미만의 글자만 출력할 수도 있다. 이 문제를 풀기 전에... - 길이는 int 형 변수로 입력 받자.- 입력받을 단어는 배열 크기 100의 char 형 변수로 선언하자.- 배열 인덱스를 10으로 나눈 나머..
-
[문자열 함수] 문자열 복사, 덧붙이기Study (etc)/C 2019. 2. 13. 16:09
이번에도 문자열 함수를 이용한 예제이다. 윤성우 저 '열혈 C 프로그래밍' 교재의 문제 21-2 [문자열 처리]의 문제를 해결해보았다. 시작하기 전에 간단하게 문자열 함수들을 정리해보겠다. 문자열 길이 반환 strlen size_t strlen (const char * s); 의 형태로 사용한다. 여기에서 size_t 선언은 unsigned int의 선언과 완전히 동일하다. ex) 문자열 배열 변수 str의 문자열 길이를 구하기 위해서는 strlen(str)의 형태로 사용할 수 있다. 문자열 복사 strcpy, strncpy char * strcpy(char * dest, const char * src);char * strncpy(char * dest, const char * src, size_t n);..
-
[문자열 함수] 문자열 속 숫자 추출 및 합 구하기Study (etc)/C 2019. 2. 12. 22:22
오늘은 문자열 관련 함수를 이용하여 입력된 무작위의 문자열 속에서 숫자만 탐색 및 추출하여 그 숫자들의 총 합을 출력하는 예제를 작성해보았다. 윤성우 저 '열혈 C 프로그래밍' 교재에 수록된 문제이다. 문제 21-2 문제 적당한 길이의 문자열을 입력 받아서 그 안에 존재하는 숫자의 총 합을 계산해서 출력하는 프로그램을 작성해보자. 예를 들어서 프로그램 사용자로부터 입력 받은 문자열이 "A15#43"이라 하면, 이 문자열 중 아라비아 숫자는 1, 5, 4, 3 이니, 1+5+4+3의 연산결과가 출력되어야 한다. 소스코드 숫자를 탐색하고 더하는 과정은 SumOfNum이라는 함수로 따로 정의하였다. sum+=str[i]-'0'의 의미는 다음과 같다. 만약 str[i]의 요소가 문자 '1'이라면 ASCII로는 ..
-
[문자열 함수] 알파벳 대소문자 변환Study (etc)/C 2019. 2. 10. 17:14
오늘은 문자와 문자열 함수를 공부하던 도중 제시된 예제를 작성해보았다. 입력과 출력에는 '스트림 (stream)'이라는 매개체가 다리의 역할을 해준다. 스트림에는 입력 스트림과 출력 스트림 두 가지가 있다.스트림은 OS가 제공하는 가상의 다리이며 외부장치와 프로그램과의 데이터 송수신의 도구인 셈이다.콘솔 (일반적으로 키보드 및 모니터) 입출력을 위한 스트림은 프로그램 실행 시 자동으로 생성되었다가 종료 시 자동으로 소멸된다. 표준 스트림에는 세 가지가 존재한다. ■stdin - 표준 입력 스트림 ■stdout - 표준 출력 스트림 ■stderr - 표준 에러 스트림 흔히 사용하는 출력 함수 printf와 입력 함수 scanf는 표준 스트림을 사용한다. 이번에는 문자 단위의 입출력 함수를 이용해보고자 한다..