7785번 - 회사에 있는 사람
아래 코드 62번 라인에서
1) 번처럼 하면 15%쯤에서 틀렸습니다가 나오고
2)번처럼 하면 통과가 됩니다.
어차피 leave 처리 하는것은 기존 상태에 상관없이 하면 될 것 같은데 결과가 달라지는 이유가 뭘까요?
동명이인이 없고, 대소문자도 다른 경우에는 해당 조건문에 진입하지 않을텐데 이유를 모르겠네요..
1) if (hashtable[h][i]->name == name)
2) if (hashtable[h][i]->name == name && hashtable[h][i]->in)
(질문자입니다)
동명이인은 없지만 같은 사람이 여러번 enter/leave를 할 수 있기 때문인걸까요?
그렇다고 하면 위 코드에서 leave시 hashtable에서 삭제작업을 함께 수행하거나, 본문에 써둔 것 처럼 in 상태를 확인해야 하겠네요.
혹시나 다른 의견 있으신분 알려주시면 감사하겠습니다.
일주일 후 완료처리 하겠습니다 ^^
댓글을 작성하려면 로그인해야 합니다.
nacl0691 1년 전
아래 코드 62번 라인에서
1) 번처럼 하면 15%쯤에서 틀렸습니다가 나오고
2)번처럼 하면 통과가 됩니다.
어차피 leave 처리 하는것은 기존 상태에 상관없이 하면 될 것 같은데 결과가 달라지는 이유가 뭘까요?
동명이인이 없고, 대소문자도 다른 경우에는 해당 조건문에 진입하지 않을텐데 이유를 모르겠네요..
1) if (hashtable[h][i]->name == name)
2) if (hashtable[h][i]->name == name && hashtable[h][i]->in)