※ 글쓴이는 취미로 코딩을 익혀보는 사람이라 정확하지 않은 내용을 담고 있을 수 있다 ※

 

이번에 볼 문제는 백준 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

+ Recent posts