for (size_t i = 0; i < R; i++)
{
for (size_t j = 0; j < C; j++)
{
if (i == 0 && j == 0) {
if (i - 1 >= 0 && map[i - 1][j] != -1) { // A
cout << "출력 " << i << endl;
}
if (i >= 1 && map[i - 1][j] != -1) { // B
cout << "미출력 " << i << endl;
}
}
}
}
}
B처럼 출력되지 않기를 바랬는데
A처럼 출력이 되버리는 이유는
A에서 size_t에 대한 언더플로우가 발생하기 때문 (unsigned int)
따라서 이런 경우 signed int를 사용해야 함
'알고리즘' 카테고리의 다른 글
[Java] 자바 컬렉션들의 시간 복잡도 (0) | 2022.01.11 |
---|---|
자바 소수 판별 알고리즘 (0) | 2021.12.24 |
자바 10진수를 N진수로 바꿔주는 함수 (0) | 2021.12.22 |
자바 알고리즘에서 자주 쓰이는 코드 (0) | 2021.07.26 |