1-G 질문있습니다!
안녕하세요 선생님! 강의 보기 전에 직접 풀어봤는데요, 테스트 케이스도 정답대로 잘나오지만 백준에서는 틀렸다고 나옵니다 ㅠㅠ
파일 개수 입력
패턴 입력
파일 입력
패턴의 첫 번째/마지막 문자와 파일의 첫 번째/마지막 문자가 같다면 DA출력, 아니면 NE출력
몇 번을 확인해봐도 설계에 문제는 없어보이는데요, 어디가 틀려서 오답처리가 되는걸까요?
http://boj.kr/8b7b4a2668c0446a92b0c459e4c67c77
#include <iostream>
using namespace std;
int cnt;
string pattern;
string input[100];
int main()
{
cin >> cnt;
cin >> pattern;
for (int i = 0; i < cnt; i++)
cin >> input[i];
for (int i = 0; i < cnt; i++)
{
if (pattern[0] == input[i][0] && pattern[pattern.size() - 1] == input[i][input[i].size() - 1])
cout << "DA" << endl;
else
cout << "NE" << endl;
}
return 0;
}
답변 2
1
안녕하세요, 인프런 AI 인턴입니다.
한유태님의 질문 내용을 분석해본 결과, “1G (백준 9996번)문제 반례 받을 수 있을까요?” 질문과 유사한 상황에 대한 답변이 있습니다. 이 답변에서는 큰돌 강사님이 문제 해결에 있어 중요한 포인트를 설명하십니다.
백준 9996번 한국이 그리울 땐 서버에 접속하지 문제에 대해 질문해주셨는데, 이 문제는 간단한 문자열 처리 문제로 보이지만 주어진 패턴을 정확하게 이해하고 구현하는 데 주의가 필요합니다. 패턴이 ‘*’ 문자를 포함하여 복잡한 조건을 가지고 있다는 점, 해당 조건을 정확하게 구현하기 위해선 문자열의 시작과 끝을 넘어서 전체 패턴 일치 여부를 판단하는 논리가 필요하다는 점이 핵심입니다.
문제점은, 간단히 패턴의 시작과 끝 문자만을 체크하는 로직으로는 모든 케이스를 정확하게 판단할 수 없다는 것입니다. 예를 들어 패턴이 ‘ac’와 같이 주어지고 파일 이름이 ‘abc’일 경우, 단순히 시작과 끝 문자만을 비교하는 로직으로는 ‘DA’를 출력하지만, 사실은 패턴과 일치하지 않습니다. 이는 ‘‘가 나타내는 “모든 문자열”을 올바르게 처리하고 있지 않기 때문입니다.
해당 문제를 해결하기 위해서는 ‘*’ 문자를 기준으로 패턴을 두 부분으로 나누고, 각 부분이 파일 이름의 시작과 끝 부분에 각각 일치하는지를 확인하는 로직이 필요합니다. 1-G 문제 질문입니다.에서는 유사한 문제를 다루면서 괄호가 누락되어 split 함수가 예상대로 작동하지 않는 문제를 지적하고, 수정 방안을 제시합니다.
한유태님의 경우에도 패턴의 ‘‘를 처리하는 방식에 주의를 기울여 알고리즘을 수정해야 합니다. 패턴의 시작과 끝 문자만을 비교하는 것이 아닌, 패턴 안에 있는 ‘‘를 올바르게 처리하여 패턴 전체와 파일 이름이 일치하는지를 체크해야 올바른 결과를 얻을 수 있습니다.
질문의 내용과 강사님의 답변을 종합해보면, 한유태님의 경우 패턴 처리 방식에 문제가 있는 것으로 보입니다. ‘*’ 처리를 통해 문제를 해결해 보시기 바랍니다.
저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다.
현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏
추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.
4-F 경우의 수 질문입니다.
0
17
2
코딩살구클럽 가입이 안됩니다.
0
43
2
살구 클럽에 대한 질문있습ㄴ디ㅏ
0
38
1
교안 158페이지 문의드립니다
0
37
2
코딩살구클럽 관련 건의사항
0
89
1
코살에 19942 다이어트 문제에 N의 범위가 빠져있슴니다
0
38
1
진행 방법 질문드립니다!
0
71
2
2-I) 왜 이 문제가 그래프이론 카테고리에 있는지 잘 모르겠습니다.
0
61
2
2주차 개념#12 트리 순회
0
32
2
백준사이트가 종료된다고 합니다.
0
298
2
백준 서비스 종료
9
911
1
sk 하이닉스 코테 대비
0
377
2
3-G 최댓값 질문
0
52
1
모듈러 연산 값이 10이 아닌 경우도 있지 않나요?
0
84
2
3-I 코드 질문드립니다.
0
63
2
3-N 질문 있습니다.
0
68
2
학습방법
0
103
2
4-H 질문 있습니다 (코드 리뷰)
0
67
2
코딩테스트 어디까지 준비해야 하는지 질문이 있습니다.
0
178
2
2-O 반례가 무엇일지 어떤 부분이 틀렸는지 잘 모르겠습니다.
0
70
2
2주차 개념 #4-2. 인접행렬 질문있습니다.
0
65
2
1-A 문제풀이 후 궁금한 점이 생겨서 질문드립니다.
0
52
2
조합 재귀 풀이 확인 해주시면 감사하겠습니다.
0
69
2
함수별 시간복잡도
0
75
2






