강의

멘토링

로드맵

Inflearn brand logo image

인프런 커뮤니티 질문&답변

mayong0707님의 프로필 이미지
mayong0707

작성한 질문수

10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트

2-P

2-P, 제가 작성한 코드가 괜찮은지 봐주세요.

해결된 질문

작성

·

82

0

https://www.acmicpc.net/source/87733901

 

강의를 보기전 구현해본 코드입니다.

백준 통과는 됐는데, 제가 느끼기에 강사님 코드에 비해 길이가 길고 난잡하다 해야할까요?

답변 1

0

큰돌님의 프로필 이미지
큰돌
지식공유자

안녕하세요 마영님 ㅎㅎ


			if (Map[i][j] == 0) emp.push_back({ i,j });
			if (Map[i][j] == 2) virus.push_back({ i, j });

분리해서 담는것 : 굿

 

void combi(int start, vector<int>& v)
{
	if (v.size() == r)

조합구현도 : 굿

void copyMap()
{
	for (int i = 0; i < n; ++i)

이부분은 memcpy를 쓰면 쉽습니다.

 

	for (int i = 0; i < virus.size(); ++i)
	{
		virusDFS(virus[i].first, virus[i].second);

이부분은 virus 콜하기 전에 -> visted 체크하고 가면 더 효율적일 것 같습니다.

 

나머지부분은 너무 잘짜셨습니다.

2가지부분만 개선하면 더 좋은 코드가 될 것 같아요

 

감사합니다.

 

mayong0707님의 프로필 이미지
mayong0707

작성한 질문수

질문하기