Programming

    [C] 백준 2775번 : 부녀회장이 될테야

    https://www.acmicpc.net/problem/2775 2775번: 부녀회장이 될테야 첫 번째 줄에 Test case의 수 T가 주어진다. 그리고 각각의 케이스마다 입력으로 첫 번째 줄에 정수 k, 두 번째 줄에 정수 n이 주어진다 www.acmicpc.net #define _CRT_SECURE_NO_WARNINGS #include #include int main(void) { int t, k, n; scanf("%d", &t); for (int i = 0; i < t; i++) { scanf("%d%d", &k, &n); int** arr = (int**)malloc(sizeof(int*) * (k+1)); for (int j = 0; j

    [C] 백준 10250번 : ACM 호텔 (개선)

    https://www.acmicpc.net/problem/10250 10250번: ACM 호텔 프로그램은 표준 입력에서 입력 데이터를 받는다. 프로그램의 입력은 T 개의 테스트 데이터로 이루어져 있는데 T 는 입력의 맨 첫 줄에 주어진다. 각 테스트 데이터는 한 행으로서 H, W, N, 세 정수 www.acmicpc.net 이 문제는 코드가 2개 있습니다. 우선 구린 코드 #define _CRT_SECURE_NO_WARNINGS #include int main(void) { int t, H, W, N, count = 0, temp1 = 0, temp2 = 0; scanf("%d", &t); for (int i = 0; i < t; i++) { scanf("%d%d%d", &H, &W, &N); for (..

    [C]백준 2869번 : 달팽이는 올라가고 싶다

    https://www.acmicpc.net/problem/2869 2869번: 달팽이는 올라가고 싶다 첫째 줄에 세 정수 A, B, V가 공백으로 구분되어서 주어진다. (1 ≤ B < A ≤ V ≤ 1,000,000,000) www.acmicpc.net 시간제한이 0.15초! 이전의 손익분기점 문제가 떠오르는 조건이다. 비슷하다면 비슷할 수 있는 문제이니 참고할 분이 계시다면 https://www.acmicpc.net/problem/1712 1712번: 손익분기점 월드전자는 노트북을 제조하고 판매하는 회사이다. 노트북 판매 대수에 상관없이 매년 임대료, 재산세, 보험료, 급여 등 A만원의 고정 비용이 들며, 한 대의 노트북을 생산하는 데에는 재료비와 www.acmicpc.net 즉 반복문을 사용하지 말라..

    [C] 백준 1193번 : 분수찾기

    https://www.acmicpc.net/problem/1193 1193번: 분수찾기 첫째 줄에 X(1 ≤ X ≤ 10,000,000)가 주어진다. www.acmicpc.net 못 풀어서 풀이를 본 문제다. 어떻게든 규칙을 찾으려 해봤지만 나에게는 보이지 않았다. 분자와 분모의 증감도 뒤죽박죽이었다. 힌트를 얻고자 풀이를 구글링 하였는데 가장 좋았던 포스팅은 https://abcdefgh123123.tistory.com/186 이 분의 포스팅이었다. 쓸데없는 내용없이 간결하게 풀이하셨다. 복습 겸 되짚어보자. 대각선의 방향이 바뀌는 것을 기준으로 위 표와 같이 정렬할 수 있었다. 맨 우측 열에 쓰인 숫자는 요소의 개수인데 대각선마다 요소의 개수가 1씩 늘어나는 것을 알 수 있다. 여기서 중요한 규칙을 ..

    [C] 백준 2292번 : 벌집

    https://www.acmicpc.net/problem/2292 2292번: 벌집 위의 그림과 같이 육각형으로 이루어진 벌집이 있다. 그림에서 보는 바와 같이 중앙의 방 1부터 시작해서 이웃하는 방에 돌아가면서 1씩 증가하는 번호를 주소로 매길 수 있다. 숫자 N이 주어졌 www.acmicpc.net 코드 #define _CRT_SECURE_NO_WARNINGS #include int main() { int n, var = 1, count = 1; scanf("%d", &n); while(1) { if (n

    [C] 백준 1712번 : 손익분기점

    https://www.acmicpc.net/problem/1712 1712번: 손익분기점 월드전자는 노트북을 제조하고 판매하는 회사이다. 노트북 판매 대수에 상관없이 매년 임대료, 재산세, 보험료, 급여 등 A만원의 고정 비용이 들며, 한 대의 노트북을 생산하는 데에는 재료비와 www.acmicpc.net 우선 틀린 코드부터 #define _CRT_SECURE_NO_WARNINGS #include int main() { int A, B, C, result, i = 0; scanf("%d%d%d", &A, &B, &C); while (1) { if (B >= C) { printf("-1"); break; } if (A + (B * i) - (C * i) < 0) { printf("%d", i); break..

    [C] 백준 5622번 : 다이얼

    https://www.acmicpc.net/problem/5622 5622번: 다이얼 첫째 줄에 알파벳 대문자로 이루어진 단어가 주어진다. 단어의 길이는 2보다 크거나 같고, 15보다 작거나 같다. www.acmicpc.net 코드 #define _CRT_SECURE_NO_WARNINGS #include int main() { int i = 0, sum = 0; char number[16]; scanf("%s", number); while (number[i] != NULL) { switch (number[i]) { case 'A': case 'B': case 'C': sum += 3; break; case 'D': case 'E': case 'F': sum += 4; break; case 'G': cas..

    [C] 백준 2675번 : 문자열 반복

    https://www.acmicpc.net/problem/2675 2675번: 문자열 반복 문자열 S를 입력받은 후에, 각 문자를 R번 반복해 새 문자열 P를 만든 후 출력하는 프로그램을 작성하시오. 즉, 첫 번째 문자를 R번 반복하고, 두 번째 문자를 R번 반복하는 식으로 P를 만들면 된다 www.acmicpc.net 코드 #define _CRT_SECURE_NO_WARNINGS #include int main() { char S[20], P[160]; int T, R; scanf("%d",&T); //Testcase for (int i = 0; i < T; i++) { scanf("%d%s", &R, S); int count = 0, var = 0; //테스트케이스 간 중첩되지 않기 위해 반드시 여기..

    [C] 백준 10809번 : 알파벳 찾기

    https://www.acmicpc.net/problem/10809 10809번: 알파벳 찾기 각각의 알파벳에 대해서, a가 처음 등장하는 위치, b가 처음 등장하는 위치, ... z가 처음 등장하는 위치를 공백으로 구분해서 출력한다. 만약, 어떤 알파벳이 단어에 포함되어 있지 않다면 -1을 출 www.acmicpc.net 코드 #define _CRT_SECURE_NO_WARNINGS #include int main() { int count = 0; int n[26]; //알파벳 A~Z의 위치를 출력해줄 배열 char a[100]; for (int i = 0; i < 26; i++) { n[i] = -1; // 알파벳이 단어에 포함되어 있지 않는 것으로 초기화 } scanf("%s", a); while ..

    [C] 백준 11720번 : 숫자의 합

    https://www.acmicpc.net/problem/11720 11720번: 숫자의 합 첫째 줄에 숫자의 개수 N (1 ≤ N ≤ 100)이 주어진다. 둘째 줄에 숫자 N개가 공백없이 주어진다. www.acmicpc.net 코드 #define _CRT_SECURE_NO_WARNINGS #include int main() { int n = 0, sum = 0, i = 0; char a[100]; scanf("%d", &n); scanf("%s", a); while (a[i] != 0) { sum += (a[i] - '0'); i++; } printf("%d", sum); return 0; } 풀이 전 이 문제를 보자마자 아스키코드와 관련된 문제겠거니 했다. 아스키코드란? 컴퓨터는 오로지 숫자만 표현할..