c언어
-
[BOJ / C] 1110번 : 더하기 사이클Study (etc)/Problem Solving 2019. 5. 6. 10:00
- 더하기 사이클 - 문제설명 이 문제를 풀며- 숫자의 십의 자리와 일의 자리를 분리하는게 필요했다. 십의 자리는 (입력받은 정수) / 10 으로 분리했고, 일의 자리는 (입력받은 정수) % 10으로 분리했다. - 처음에는 그냥 입력받은 수를 바로 계산을 해버렸지만, 그렇게 할 경우 정상적으로 답이 출력되지 않아 임시변수를 선언하여 사용하였다. 소스코드를 보면 임시 변수를 어떻게 사용했는지 알 수 있을 것이다.- 꽤 오래 고민을 하며 풀었던 문제이다. 내 소스 #include int main() { int num,tmp; //tmp는 계산 결과값을 담을 임시변수 int a,b,c; int result, count=0; scanf("%d", &num); tmp = num; //먼저 num값을 tmp에 대입..
-
[BOJ / C] 2445번 : 별 찍기 -8Study (etc)/Problem Solving 2019. 4. 11. 13:42
- 별 찍기 - 8 - 문제설명 이 문제를 풀기 전에- 세로 대칭인 점을 이용해보자. 내 소스 #include int main() { int input; int i,j,k; scanf("%d",&input); for(i=1; i0;j--) printf("*"); printf("\n"); } for(i=input;i>0;i--) { for(j=i; j>0; j--) printf("*"); for(k=0; k0;j--) printf("*"); printf("\n"); } return 0; } 채점 결과
-
[BOJ / C] 2444번 : 별 찍기 - 7Study (etc)/Problem Solving 2019. 4. 5. 20:04
- 별 찍기 - 7 - 문제설명문제: 예제를 보고 규칙을 유추한 뒤에 별을 찍어 보세요 입력:첫째 줄에 N(1 ≤ N ≤ 100)이 주어진다. 출력:첫째 줄부터 2×N-1번째 줄까지 차례대로 별을 출력한다. 이 문제를 풀기 전에- 이 문제의 출력은 지난 번에 해결했던 별 찍기 -5 번의 피라미드 모양과 별 찍기 - 6번의 역삼각형 모양을 붙여놓은 느낌이 든다. 두 문제의 코드를 적절히 조합하면 해결될 것 같다. - 해당 출력은 가장 많은 별이 출력되는 줄을 기점으로 대칭이다. (이 점을 잘 생각해야 한다. 덕분에 곤혹을 치렀다.) - 대칭이라는 것만 잘 생각한다면 매우 쉬운 문제. 내 소스 -1 (실패)출력 결과가 제시한 출력과 유사해서 손쉽게 풀렸다고 생각했었지만, 그건 내 착오였다. #include ..
-
[BOJ / C] 1546번 : 평균Study (etc)/Problem Solving 2019. 4. 5. 10:06
- 평 균 - 문제설명 문제: 세준이는 기말고사를 망쳤다. 세준이는 점수를 조작해서 집에 가져가기로 했다. 일단 세준이는 자기 점수 중에 최댓값을 골랐다. 이 값을 M이라고 한다. 그리고 나서 모든 점수를 점수/M*100으로 고쳤다.예를 들어, 세준이의 최고점이 70이고, 수학점수가 50이었으면 수학점수는 50/70*100이 되어 71.43점이 된다.세준이의 성적을 위의 방법대로 새로 계산했을 때, 새로운 평균을 구하는 프로그램을 작성하시오. 입력:첫째 줄에 시험 본 과목의 개수 N이 주어진다. 이 값은 1000보다 작거나 같다. 둘째 줄에 세준이의 현재 성적이 주어진다. 이 값은 100보다 작거나 같은 음이 아닌 정수이고, 적어도 하나의 값은 0보다 크다. 출력:첫째 줄에 새로운 평균을 출력한다. 정답..
-
[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..