Deff_Dev

[코드업] 설탕과자 뽑기 (C++) 본문

코딩테스트/코드업

[코드업] 설탕과자 뽑기 (C++)

Deff_a 2024. 3. 24. 21:22
 

[기초-2차원배열] 설탕과자 뽑기

C언어기초100제v1.2 : @컴퓨터과학사랑, 전국 정보(컴퓨터)교사 커뮤니티/연구회 - 학교 정보(컴퓨터)선생님들과 함께 수업/방과후학습/동아리활동 등을 통해 재미있게 배워보세요.  - 모든 내용

codeup.kr

문제

이 문제는 가로 길이가 w이고 세로 길이가 h인 격자판에 n개의 막대를 놓는데,

각 막대는 길이 l을 가지며 놓는 방향(d == 0 ↓, d == 1 → )과 시작 지점(x, y)이 주어진다.

 

각 막대를 놓은 뒤의 격자판 상태를 출력하는 문제이다.

여기서 막대를 놓은 부분은 1로, 놓지 않은 부분은 0으로 표시한다.

 

 

풀이

이중 for문을 이용하여 입력받은 위치에 막대기 길이 만큼 막대기를 놓는 방법으로 풀이했다.

#include <iostream>

// https://codeup.kr/problem.php?id=1098
using namespace std;

int map[100][100] = { 0, };

int main() {
	int h, w, n, l,d,x,y;

	cin >> h >> w >> n;

	// 격자판에 막대기 놓기 
	for (int i = 0; i < n; i++) {
		cin >> l >> d >> x >> y;
		
		// 막대기의 길이 만큼 막대기를 놓음
		for (int j = 0; j < l; j++) {
			map[x][y] = 1;
			if (d == 0) {
				y++;
			}
			else {
				x++;
			}
		}

	}

	// 출력
	for (int i = 1; i <= h; i++) {
		for (int j = 1; j <= w; j++) {
			cout << map[i][j] << " ";
		}
		cout << endl;
	}
	
	return 0;
}

 

 

 

 

CodingTestPractice/CodeUp/2차원 배열/설탕과자 뽑기.cpp at main · seungdo1234/CodingTestPractice

코딩 테스트 연습. Contribute to seungdo1234/CodingTestPractice development by creating an account on GitHub.

github.com