2023. 5. 29. 01:45, 알고리즘/BOJ
boj 8980번 문제의 풀이 코드에 if(!b)형태의 코드를 보았는데, 이때 b의 경우 int 타입으로 선언된 값이다.
그렇다면 이때에 if(!b)의 경우, b가 가리키는 값이 양수, 0, 음수 이렇게 존재할 수 있을텐데, 과연 if(!b)코드는 b가 양수, 0, 음수일때 각각 어떤식로 해석되어서 if문 내부가 실행될지 안될지에 대해서 검색해보았다.
결론부터 말하면 이 경우, b==0 인 경우에만 (!b)==1이 되어서 코드가 실행되고, 나머지 경우는 모두 코드가 실행되지 않는다. 결국 b가 양수이던, 음수이던 !b는 if문 내부의 판단 부분에서는 false로 판단되는 것이고, 그래서 코드가 실행되지 않는다.
오로지 b==0이 되어서, !b==1 로 해석되어서 !b가 true로 해석되어야 if문 내부의 코드가 실행된다.
그러니까 앞으로는 !b 같은 형태의 코드를 보면, 이 내부의 값 b가 0가 되는 경우만을 고려해서 이 코드를 해석하도록 하자. b가 int 타입처럼 숫자로 선언되었을때 말이다.
'알고리즘 > BOJ' 카테고리의 다른 글
최대공약수를 구하기 위한 유클리디안 알고리즘에 대하여. (0) | 2023.05.31 |
---|---|
boj 7570번 문제에 대한 이해를 도와주는 블로그글 첨부. (0) | 2023.05.31 |
boj 2170번 문제를 통해 또다시 접하게된 시작과 끝점을 따로 구분지어줘서 push_back 해준뒤에 정렬해서 각각의 값을 활용하는 방법. (0) | 2023.05.28 |
boj 15903 번 문제를 통해서 비교 해보게된 swap, *min_element를 통해 찾는 최소값, sort를 통해 찾는 최솟값의 시간복잡도 차이점. (0) | 2023.05.27 |
boj 11000번 문제를 통해서 접하게된 vector에 시작 인자와 끝 인자를 구분해서 담는 기술에 관하여. (0) | 2023.05.27 |
Comments, Trackbacks