본문 바로가기

브론즈 I12

[백준 11719] 그대로 출력하기 2 [C] 소스코드 #include int main(){ char ch; while((ch=getchar()) != EOF) putchar(ch); } 출처 11719번: 그대로 출력하기 2 입력이 주어진다. 입력은 최대 100줄로 이루어져 있고, 알파벳 소문자, 대문자, 공백, 숫자로만 이루어져 있다. 각 줄은 100글자를 넘지 않으며, 빈 줄이 주어질 수도 있고, 각 줄의 앞 뒤에 공백이 www.acmicpc.net 2021. 8. 9.
[백준 2167] 2차원 배열의 합 [C] 소스코드 #include int main(){ int N, M, K, x1, y1, x2, y2; scanf("%d %d", &N, &M); int arr[N][M]; for (int i = 0; i < N*M; i++) scanf("%d", &arr[i/M][i%M]); scanf("%d", &K); while (K--){ scanf("%d %d %d %d", &x1, &y1, &x2, &y2); int sum = 0; for (int i = x1; i 2021. 8. 3.
[백준 14730] 謎紛芥索紀 (Small) [C] 소스코드 #include int main(){ int N, n1, n2, result = 0; scanf("%d", &N); for (int i = 0; i < N; i++){ scanf("%d %d", &n1, &n2); result += n1*n2; } printf("%d", result); } 출처 14730번: 謎紛芥索紀 (Small) 성민이는 이번 학기에 미적분학 과목을 수강하고 있다. 다항함수의 미분 단원 과제를 하던 도중 미분을 하기가 귀찮아진 성민이는 미분하려는 함수 f(x)가 주어지면, 미분 된 함수 f’(x)를 자동 www.acmicpc.net 2021. 8. 1.
[백준 2748] 피보나치 수 2 [C] 풀이 "백준 2747, 피보나치 수"에서 사용한 Dynamic Programming 풀이방식을 재사용해 시간초과는 발생하지 않지만, 수가 너무 커서 long long 형을 사용해주어야 한다. 소스코드 #include long long fibo(int n){ long long fiboNum[2] = {0, 1}; for (int i = 1 ; i < n; i++) fiboNum[(i+1)%2] = fiboNum[i%2] + fiboNum[(i-1)%2]; return fiboNum[n%2]; } int main(){ int n; scanf("%d", &n); printf("%lld", fibo(n)); } 출처 및 참고자료 2748번: 피보나치 수 2 피보나치 수는 0과 1로 시작한다. 0번째 피보나치 수.. 2021. 7. 31.
[백준 2869] 달팽이는 올라가고 싶다 [C] 풀이 시간제한이 있어 규칙을 찾아 단순 연산으로 풀이해야 하는 문제이다. A만큼 올라갔을 때, V이상이면 멈추고, 그렇지 않으면 B만큼 감소한다. (A-B가 V-B 이상) (V-B) / (A-B)의 값이 위 조건을 성립하지만(소수점 단위를 포함한 최소조건), 날짜(정수)를 기준으로 며칠이 걸리는지 구해야 하기 때문에 다음과 같이 식을 변경했다. 1 + (V-B-1) / (A-B) 소스코드 #include int main(){ int A, B, V; scanf("%d %d %d", &A, &B, &V); printf("%d\n", 1+(V-B-1)/(A-B)); } 출처 2869번: 달팽이는 올라가고 싶다 첫째 줄에 세 정수 A, B, V가 공백으로 구분되어서 주어진다. (1 ≤ B < A ≤ V ≤ 1,.. 2021. 7. 27.
[백준 2839] 설탕 배달 [C] 풀이 5kg 봉지를 최대한 많이 들때, 배달하는 봉지의 개수가 최소인점을 이용해 풀이했다. 입력받은 N을 5(kg)로 나누었을 때 나머지가 0이면 몫이 봉지의 개수이다. 나머지가 0이 아니라면, 몫(cnt)을 한 개씩 줄이고, 3(kg)봉지를 몇개를 추가해야 알맞게 배달할 수 있는지 계산한다. 만약, 나누어 떨어지지 않는다면 cnt는 -1로 감소하며, -1을 출력할 것이다. 소스코드 #include int main() { int N, cnt = 0; scanf("%d", &N); cnt = N / 5; if (N % 5) for (; cnt >= 0; cnt--) if ((N - 5 * cnt) % 3 == 0) { cnt += (N - 5*cnt) / 3; break; } printf("%d\n", c.. 2021. 7. 25.