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 함수가 예상대로 작동하지 않는 문제를 지적하고, 수정 방안을 제시합니다.
한유태님의 경우에도 패턴의 ‘‘를 처리하는 방식에 주의를 기울여 알고리즘을 수정해야 합니다. 패턴의 시작과 끝 문자만을 비교하는 것이 아닌, 패턴 안에 있는 ‘‘를 올바르게 처리하여 패턴 전체와 파일 이름이 일치하는지를 체크해야 올바른 결과를 얻을 수 있습니다.
질문의 내용과 강사님의 답변을 종합해보면, 한유태님의 경우 패턴 처리 방식에 문제가 있는 것으로 보입니다. ‘*’ 처리를 통해 문제를 해결해 보시기 바랍니다.
저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다.
현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏
추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.
코딩 살구클럽 가입 문의
0
66
2
코딩살구클럽 가입문의
0
69
2
3-K private case 질문
0
64
2
안녕하세요. 코딩살구클럽 문의드립니다!
0
77
2
7:41 듣다가 질문합니다
0
77
2
코드 리뷰 요청드립니다!
0
83
2
코딩살구클럽 계정 문의
0
79
2
SK하이닉스 대비 강의수강
0
217
3
코딩살구클럽 등록부탁드립니다.
0
78
2
7-F 재귀로 풀시 런타임애러
0
74
1
1-N 문제 질문입니다. (+ 채점오류)
0
82
2
코딩살구클럽 가입 확인 부탁드립니다.
0
86
2
직장인 코테 합격 공부방법 문의
0
127
2
코딩살구클럽 가입 방법
0
96
2
6-H 체점 관련 질문
0
74
1
채점서버 연결 관련 질문입니다
0
101
2
삼성 s직군
0
88
1
삼성 코테 없어짐
0
212
1
코딩살구클럽 가입부탁드립니다
0
87
2
코딩살구클럽 가입 요청 확인부탁드립니다
0
69
2
5-S 테스트 케이스 질문
0
78
2
코살 문제풀이 환경
0
88
2
2 - T 오큰수 문제가 있는 것 같습니다.
0
81
1
추천 추가문제들
0
74
2






