SWEA 48

[C언어] SWEA 1966 숫자를 정렬하자

입력받은 숫자를 오름차순으로 정렬하는 문제 #include #include int main(void) { int test_case, T; scanf("%d", &T); for (test_case = 1; test_case arr[j + 1]) { temp = arr[j]; arr[j] = arr[j + 1]; arr[j + 1] = temp; } } } printf("#%d ", test_case); for (int i = 0; i < N; i++) printf("%d ", arr[i]); printf("\n"); } return 0; } 버블정렬 사용 *버블정렬 : 배열이 오름차순 혹은 내림차순이 될 때까지 인접한 두 원소의 순서를 바꾸는 것 https://ko.wikipedia.org/wiki/%EA..

SWEA/[D2] 2020.08.20

[C언어] SWEA 1284 수도요금경쟁

A사 : 1리터당 P원의 돈을 내야 함. B사 : 기본 요금이 Q원이고, 월간 사용량이 R리터 이하인 경우 기본요금, 그 이상이면 초과량에 대해 1리터당 S원의 요금을 더 냄. 한 달간 사용하는 수도의 양은 W리터, 요금이 더 저렴한 회사의 요금은? A사는 W*P원, B사는 R리터 이상인지 이하인지 구분해 이상이면 Q+(W-R)*S원, 이하면 Q원이다. //SWEA1284 수도 요금 경쟁 #include #include int main(void){ int p, q, r, s, w, i, money; int testCase; int *answer; scanf("%d", &testCase); answer = (int*)malloc(sizeof(int)*testCase); for(i=0; ir){ money ..

SWEA/[D2] 2020.08.15

[C언어] SWEA 1970 쉬운 거스름돈

문제 : 거스름돈을 최소 개수로 되돌려 줄 때 필요한 거스름돈 수 거스름돈은 5만원부터 10원까지 있음. 제약 사항 : 입력하는 돈 N은 10~1,000,000이하의 정수, N의 마지막 자릿수는 항상 0 코드 #include #include int main(void){ int i, j, n, testCase; int money [8] = {50000, 10000, 5000, 1000, 500, 100, 50, 10}; int **answer; scanf("%d", &testCase); answer = (int**)malloc(sizeof(int*)*testCase); for(i=0; i

SWEA/[D2] 2020.08.09

[C언어] SWEA 1989 초심자의 회문검사

회문이란? 거꾸로 읽어도 원래 읽은 것과 똑같은 단어 level, mom, eye 등 문제 : 단어를 입력받아 회문이면 1, 회문이 아니면 0을 출력함. (제한 : 단어 길이는 3~10) 코드 //SWEA1989 초심자의 회문검사 #include #include #include int check(char* w); int main(void){ int testCase, i, *answer; char word[11]; scanf("%d", &testCase); answer = (int*)malloc(sizeof(int)*testCase); for(i=0; i

SWEA/[D2] 2020.08.09

[C언어] SWEA 1926 간단한 369게임

9999이하의 자연수를 배열에 각각 한자리씩 집어넣기 -> 더 효율적인 방법 찾아보기 num[0] = i/1000; num[1] = i/100%10; num[2] = i/10%10; num[3] = i%10; +이건 반복문을 이용하면 된다. 각 자릿수에 따라 출력 예) 두자릿수 : num[2], num[3]출력 출력시 369구분해서 -나 자릿수 그대로 출력 //SWEA1926 간단한 369게임 #include int main(void){ int n, i, j; int num[4] = {0}; scanf("%d", &n); for(i=1; i=1 && i=10 && i

SWEA/[D2] 2020.07.19

[C언어] SWEA 1945 간단한 소인수분해

2, 3, 5, 7, 11로 나눈 횟수를 출력한다. 배열을 생성해 각 수로 나눠질 때마다 1씩 증가시켰다. #include int main(void) { int n[5] = { 2, 3, 5, 7, 11 }; int N, T; scanf("%d", &T); for (int tc = 0; tc < T; tc++) { int an[5] = { 0 }; scanf("%d", &N); for (int i = 0; i < 5; i++) { for (;;) { if (N % n[i] == 0) { an[i]++; N /= n[i]; } else { break; } } } printf("#%d ", tc + 1); for (int i = 0; i < 5; i++)printf("%d ", an[i]); printf("..

SWEA/[D2] 2020.07.17