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

저엉님의 프로필 이미지
저엉

작성한 질문수

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

2-B

범위 체크 질문있습니다.

해결된 질문

작성

·

40

·

수정됨

0

http://boj.kr/c5c442d82b24467fbbac115beed3793c

와 같이

저는 배열 [0][0]~[x-1][y-1]이 아니고 배열을 넉넉하게 잡아

[0][0][0][0][0][0][0]

[0] // 사용 ______ _[0]

[0] _____________ _[0]

[0] _____________ _[0]

[0]_____________ _[0]

[0]_____________ _[0]

[0][0][0][0][0][0][0] 과 같은 형태로

[1][1] ~ [x][y] 까지 활용을 했는데요. 문제가 메모리를 정말 타이트하게 잡지 않는 이상 선생님께서 말씀하신 범위체크하고 위 방법은 취향 차이라고 보면 될까요?

 

답변 1

1

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

안녕하세요 저엉님 ㅎㅎ

문제가 메모리를 정말 타이트하게 잡지 않는 이상 선생님께서 말씀하신 범위체크하고 위 방법은 취향 차이라고 보면 될까요?

 -> 괜찮은 코드입니다. ㅎㅎ

		v = std::vector<std::vector<int>>(y+2,std::vector<int>(x+2,0));
		visited = std::vector<std::vector<bool>>(y+3,std::vector<bool>(x+2,0));

앞의 코드처럼 + 2를 기반으로 생성했기 때문에 오버플로, 언더플로 로직을 줄일 수 있는 강한 코드가 될 것 같습니다.

 

넵. 취향차이입니다. 이렇게 가셔도 무방합니다.

 

감사합니다.

저엉님의 프로필 이미지
저엉

작성한 질문수

질문하기