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

정Logan님의 프로필 이미지
정Logan

작성한 질문수

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

2주차 개념 #11. DFS와 BFS 비교

wile(q.size())

작성

·

154

0

wile(q.size()) 이건 어떻게 작동하는 건가요?

 

그리고 추가적으로 수도코드를 읽는 법이 따로 있나요? 아니면 다 형식처럼 만들어놓으신건가요?

답변 3

0

정Logan님의 프로필 이미지
정Logan
질문자

저저 위에 for each v 삼지창 G.adj입니다.

 

1번에 대한 답변 감사드립니다 이제 이해했습니다!

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

아 저건 속해있다라는 수학적 기호에요 ㅎㅎ "포함관계기호"입니다. 

즉, adj[u]에 속해있는 ~~~ v라는 정점을 기반으로 탐색한다라는 의미에요ㅎㅎ

https://ko.wikipedia.org/wiki/%EC%88%98%ED%95%99_%EA%B8%B0%ED%98%B8

0

정Logan님의 프로필 이미지
정Logan
질문자

1. 1 = true, 0 = false는 알고있었는데 2,3은 모르고 있었네요! 그럼 큐의 사이즈가 3이 넘어갈 일이 없기 때문에 큐 사이즈를 조건으로 하신건가요?

2. for each 다음에 삼지창이 있는 것이 이해가 잘 안됐습니다

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

음.. 큐 사이즈가 3까지가 true가 아니라요. 0이면 false, 0이 아니면 true가 됩니다.  아래코드처럼 테스팅 해보면 됩니다. 

#include<bits/stdc++.h>
using namespace std;
int n, m;
string s; 
map<string, int> mp;
map<int, string> mp2;
string a[100004];
int main(){  
	ios_base::sync_with_stdio(false);
	cin.tie(NULL); cout.tie(NULL);
	int a = -1; 
	cout << bool(a) << "\n"; 
}

삼지창 부분 스샷 찍어서 보여주세요. 어떤 수도코드인지요. 

감사합니다. 

 

0

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

안녕하세요. ㅎㅎ

1. q.size()가 만약 있다면 >> q에 사이즈가 있다면 >> true겠죠? while(true)는 무한루프를 발생시키구요. 그러다가 q.size() = 0이 될 때 false가 되기 때문에 while문이 중단되게 됩니다. 

 - 혹시 0은 false 1, 2, 3은 true값을 가진다. 이부분을 모르시나요? 모르시는 것은 괜찮구요. 모르시다면 해당 부분은 제가 교안에 추가하려구요.

2. 수도코드를 잘 이해가 안된다. 라고 질문을 주신 것같은데요. 혹시 어떠한 부분의 수도코드가 이해가 안가시나요? 

감사합니다.

정Logan님의 프로필 이미지
정Logan

작성한 질문수

질문하기