2023. 4. 16. 20:07, 알고리즘/BOJ
이런 형태의 코드에서
while(!dq.empty()&&dq.back().second>=num)의 코드의 !dq.empty() 부분이 헷갈려서 gpt에 설명을 요구하였다.
'empty()'함수는 deque가 비어있는 경우에만 true를 반환하므로, '!dq.empty()'는 deque가 비어있지 않을 때에만
true가 되며, 따라서 while루프의 조건이 참이 된다.
이 부분을 보았을때, empty()가 트루가 되는건, 비어 있을때,
그럼 !empty()가 참이 되는건, 그 반대로 비어있지 않을때,
그러니까 말을 하듯이 설명해보면, !empty()&& 라는 부분은, empty() 상태가 아니면서(!) 그리고(&&) 형태이니까
그냥 말 하듯이 "deque가 비어있지 않으면서 ~ ~" 형태로 생각하면 되겠다.
비어있지 않으면서 라는 표현이 딱 이해하기 좋은 수준인것 같다.
헷갈리지 않도록 이러한 표현에 익숙해지도록 하자.
'알고리즘 > BOJ' 카테고리의 다른 글
TIL 23.4.17//오늘 배운 것. c++에서 별칭을 사용하는 방법에 관하여. (0) | 2023.04.17 |
---|---|
c++에서 전처리지시문 #define과 typedef를 활용해서 long long을 ll로 표현할때의 차이점에 관하여. //추가적으로 using ll = long long; (0) | 2023.04.17 |
c++ size() 함수가 반환하는 값은 unsigned int임에 주의해야한다. (0) | 2023.04.16 |
cout을 통한 iterator의 출력의 경우에 관하여. (0) | 2023.04.16 |
c++ while문에서 while문 내부에서 종료 조건에 도달했을때의 어떻게 진행되는지에 대해서. (0) | 2023.04.16 |
Comments, Trackbacks