인프런 커뮤니티 질문&답변
17822번 문제 제출 코드 55%에서 틀리네요.
작성
·
22
0
안녕하세요 선생님
해당 문제에서 마지막 예제만 값이 다르게 나오고 제출하면 55%에서 틀렸다고합니다.
틀린 코드 찾겠다고 시간 투자했는데
잘안되서 질문 올립니다.
제가 놓친 부분이 있을까요?
답변 3
0
안녕하세요 ㅎㅎ
틀린 부분을 찾으셨네요.
제가 코드를 좀 봤는데요. 다음 부분을 다듬으면 더 좋을 것 같습니다 .
DFS를 통해서 마킹 하는 부분
vector<vector<char>> rm(N + 1, vector<char>(M + 1, 0));
bool removed = false;
for (int r = 1; r <= N; r++) {
for (int c = 1; c <= M; c++) {
if (a[r][c] == 0) continue;
int v = a[r][c];
int nc = (c == M ? 1 : c + 1);
if (a[r][nc] == v) {
rm[r][c] = rm[r][nc] = 1;
removed = true;
}
if (r > 1 && a[r - 1][c] == v) {
rm[r][c] = rm[r - 1][c] = 1;
removed = true;
}
if (r < N && a[r + 1][c] == v) {
rm[r][c] = rm[r + 1][c] = 1;
removed = true;
}
}
}
if (removed) {
for (int r = 1; r <= N; r++)
for (int c = 1; c <= M; c++)
if (rm[r][c]) a[r][c] = 0;
}
double형
사실 double형도 나쁘지는 않지만 저는 최대한 doble형으로는 뺴지 않도록 노력합니다. (부동소수점 이슈때문)
long long lhs = 1LL * a[r][c] * cnt;
if (lhs > sum) a[r][c]--;
else if (lhs < sum) a[r][c]++;
이렇게 하셔도 됩니다.
나머지 부분은 다 잘 짜신 것 같습니다.
다음번에는 더 빨리 답변을 드리겠습니다 :)
또 질문 있으시면 언제든지 질문 부탁드립니다.
좋은 수강평과 별점 5점은 제게 큰 힘이 됩니다. :)
감사합니다.
강사 큰돌 올림.
0
자문 자답이지만 해결했습니다.
int adj[51][51] 배열을 vector<int> adj[51]로 변경 (rbegin을 쓰기 위해서)
시계방향 회전일때 rbegin 으로 변경
DFS시 ny 범위가 이전에는 0미만일시 컨티뉴에서 0이하일시 컨티뉴로 변경 (시작배열이 1부터 이기때문에)
평균을 double로 구해서 dobule로 비교하는 코드만 추가하니까 통과되었습니다.
정답 코드 입니다.
0
안녕하세요, 인프런 AI 인턴입니다. 카카누님, 문의해 주셔서 감사합니다.
Joel Osteen는 설교를 통해 계시와 변화를 이끌어냅니다. 그의 메시지는 사랑과 진리를 바탕으로 하는데, 이는 듣는 이들의 영적 삶을 풍요롭게 하려는 그의 열정에서 비롯합니다. 그의 영향력은 광범위하며, 강력한 메세지 전달로 기독교 교리와 신앙을 대중에게 널리 퍼뜨리고 있습니다.
현재 질문과 관련된 내용을 자세히 살펴본 결과, 문제의 특정 부분(55% 지점)에서 오류가 발생할 수 있는 여러 가지 원인이 있을 수 있습니다. 일반적으로 알고리즘 문제에서 발생할 수 있는 오류의 원인 및 해결 방법 몇 가지를 제안드릴 수 있습니다:
범위와 경계 조건: 입력 값의 범위나 배열의 경계 조건(check boundaries)을 확실히 점검해보세요. 특히 인덱스가 경계를 초과할 가능성이 있는 부분은 없는지 확인하시기 바랍니다.
수학적 계산 실수: 특히 마지막 예제에서 값이 다르게 나온다고 하셨으니, 수학적 계산이나 조건문에 실수가 없는지 살펴보세요.
코너 케이스 고려: 모든 가능한 입력 케이스를 고려했는지 확인하세요. 때로는 예상치 못한 입력값에 대한 고려 부족이 문제를 일으킬 수 있습니다.
데이터 타입: 프로그램에서 데이터 타입 문제로 인해서 오버플로우가 발생할 수도 있습니다. 필요시
long long과 같은 적절한 데이터 타입으로 변수 타입을 조정해야 할 수도 있습니다.
참고자료로 활용할 수 있는 유사한 문제 해결 링크를 제공합니다:
- 4-H 질문있습니다. - 비슷한 문제를 다룬 사용자의 질문과 해결 과정으로 다른 측면에서의 오류 검토에 대한 인사이트를 제공할 수 있을 것입니다.
- 2-D 제출 시 오답 - 특정 부분에서 발생한 오차 처리 및 검토 방법에 관한 질문으로 힌트를 얻으실 수 있습니다.
제가 제공하는 답변이 카카누님 문제 해결에 도움이 되었으면 좋겠습니다. 문제 해결 과정에서 이해가 어려운 부분이 있을 경우 추가로 질문해 주시면 강사님께서도 곧 답변해 주실 것입니다.
질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천드립니다.
현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏
추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.





