'C' 태그의 글 목록 :: 잡다한 프로그래밍
반응형

https://swexpertacademy.com/main/main.do

 

SW Expert Academy

SW 프로그래밍 역량 강화에 도움이 되는 다양한 학습 컨텐츠를 확인하세요!

swexpertacademy.com

1. 해결방법

dfs를 사용하여 방문여부를 체크하고, 더불어 array의 값이 3일때를 체크하는 방식을 사용하였다.

방문여부를 체크할 bool array가 dfs재귀함수 호출전에 체크해줘야한다는 주의사항이 있다.


2. 코드

#include <string.h>
#include <iostream>
using namespace std;
int num = 0;
int ary[16][16];
int bo[16][16] = { 0 };
int result = 0;
int dx[4] = { -1, 1 ,0, 0 };
int dy[4] = { 0, 0, -1, 1 };

void dfs(int x, int y) {
    bo[1][1] = 1;
	if (ary[x][y] == 3) {
		result = 1;
	}
	else {
		for (int i = 0; i < 4; i++) {
			int nx = x + dx[i];
			int ny = y + dy[i];
			if (nx < 1 || ny < 1 || nx >= 14 || ny >= 14 || ary[nx][ny] == 1 || bo[nx][ny]){
                continue;
            }
			else{
                                bo[nx][ny] = 1;
                dfs(nx, ny);
            }
        }
	}
}
int main()
{
	for (int i = 0; i < 10; i++) {
		scanf("%d", &num);
		memset(bo, 0, sizeof(bo));
		for (int m = 0; m < 16; m++) {
			for (int n = 0; n < 16; n++) {
				scanf("%1d", &ary[m][n]);
			}
		}
		result = 0;
		dfs(1, 1);

		cout << "#" << num << " " << result << endl;
	}
}
반응형
반응형

1. 시리얼 통신이란?

  • 시리얼(RS232) 통신은 주로 IBM 호환 PC에서 쓰이는 시리얼 통신 방법
  • 예전에는 주로 모뎀 연결에 RS232 통신을 사용했다
  • 최장 1.5m 정도 까지 통신 가능
  • 최근의 노트북 PC는 무게, 두께를 줄이기 위해 시리얼 포트를 제거하고 USB를 사용함
  • 아두이노 보드는 기본으로 제공하는 USB 포트를 이용하여 시리얼(RS232) 통신이 가능함

다음 사진과 같이 아두이노는 PC와 시리얼 통신을 하게 된다.

PC 아두이노간 시리얼 통신


2. 시리얼 통신 예제

아두이노 시리얼 모니터에서 1 or 2를 입력하면 13번 LED가 ON/OFF되는 프로그램 코딩

int led = 13;

void setup()
{
	pinMode(led, OUTPUT); //13번 LED를 아웃풋으로 설정
	digitalWrite(led, LOW);
	Serial.begin(9600); //보트레이트를 9600으로 설정 시리얼창과 아두이노의 설정이 같아야함
}
void loop()
{
	char read_data;
if (Serial.available())
{
	read_data = Serial.read();
	if( read_data == '1')
	{
		digitalWrite(led, HIGH); //LED ON
		Serial.println("LED ON");
	}
	else if( read_data == '2')
	{
		digitalWrite(led, LOW); //LED OFF
		Serial.println("LED OFF");
	}
		delay(10);
}
}

다음과 같이 코딩을 완료하였다면 아래와 같은 결과를 확인 할 수 있다.

결과 화면

반응형

+ Recent posts