※ 글쓴이는 취미로 코딩을 익혀보는 사람이라 정확하지 않은 내용을 담고 있을 수 있다 ※
이번에 볼 문제는 백준 4107번 문제인 Knitting이다.
문제는 아래 링크를 확인하자.
https://www.acmicpc.net/problem/4107
4107번: Knitting
For each project, give the total number of stitches in the completed project. Print each integer answer on its own line, with no blank lines between answers.
www.acmicpc.net
직접 한 줄씩 뜨개질을 해나가는 과정을 따라가면서 추가되는 땀의 개수를 세어 문제를 해결하자.
0 ~ k - 1번째(0-based) 땀의 수의 변화를 배열에 저장해두고, 현재 줄 수에 생길 땀의 수의 변화량을 현재 줄을 K로 나눈 나머지를 이용해 구하는 것으로 구현을 편리하게 할 수 있다.
아래는 제출한 소스코드이다.
#include <iostream>
using namespace std;
int N, M, K;
int rp[100];
int main() {
ios::sync_with_stdio(0);
cin.tie(0);
cin >> N >> M >> K;
while (N + M + K) {
int ans = 0;
for (int k = 0; k < K; k++) cin >> rp[k];
for (int m = 0; m < M; m++) {
ans += N;
N += rp[m % K];
}
cout << ans << '\n';
cin >> N >> M >> K;
}
}
728x90
'BOJ' 카테고리의 다른 글
[BOJ 17613 // C++] 점프 (0) | 2023.08.17 |
---|---|
[BOJ 2729 // C++] 이진수 덧셈 (0) | 2023.08.16 |
[BOJ 15793 // C++] Anagrams (0) | 2023.08.16 |
[BOJ 6993 // C++] Shift Letters (0) | 2023.08.15 |
[BOJ 18131 // C++] 치삼이의 플레이리스트 (0) | 2023.08.15 |