강의

멘토링

커뮤니티

인프런 커뮤니티 질문&답변

kimseunghwan7777님의 프로필 이미지
kimseunghwan7777

작성한 질문수

10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트

어느 부분이 오류인지

작성

·

248

0

- 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요!
- 먼저 유사한 질문이 있었는지 검색해보세요.
- 서로 예의를 지키며 존중하는 문화를 만들어가요.
- 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요.

9996번입니다. http://boj.kr/fdceab36bef641b0912c75a854b7022d

해설 시청 이후 수정해서 다시 해봤는데, 어떤 점이 오류인지 잘 모르겠습니다..

답변 1

1

큰돌님의 프로필 이미지
큰돌
지식공유자

안녕하세요. kim님 ㅎㅎ

주석달았는데 참고해주세요.

#include <bits/stdc++.h>
using namespace std;

int main(void) {
	ios_base::sync_with_stdio(false);
	cin.tie(NULL);
	cout.tie(NULL);
//good
	int N;
	cin >> N;		// 1<= <= 100;

	string pattern;
	cin >> pattern;

	int pos = pattern.find("*");

	string pre = pattern.substr(0, pos);
	string dev = pattern.substr(pos + 1);

	string input;
	for (int i = 0; i < N; i++) {
		cin >> input;
		// 같을 때도 안될까요?
		if (input.size() <= pre.size() + dev.size()) {
			cout << "NE" << '\n';
		}
		// good
		else if (pre == input.substr(0, pre.size()) && dev == input.substr(input.size()-dev.size())) {
			cout << "DA" << '\n';
		} else {
			cout << "NE" << '\n';
		}
	}
}

하다 보니 사소한 것을 놓쳤네요.. 감사합니다!

큰돌님, 제가 학습하면서 하는 과정에 대해 의문이 들어 지금 하는 공부 방법을 확인 받고 싶습니다.

개념 강의 수강 -> 논리 생각 + 생각대로 코딩 -> 문제 풀이 강의 수강(해결한 문제든 못한 문제든 전부) -> 코드 비교/해결 못한 문제는 재풀이

이렇게 하는 중인데, 두 번째 과정에서 시간이 좀 오래 걸립니다. 교안에 논리 생각에 1~2시간이라 하셨는데, 생각한 논리대로 코딩하고, 시간 오류 발생 및 잘못된 논리일 경우, 다른 방법 생각하고 다시 해보고 해결하려 하다가 도저히 모르겠는 경우에 강의 시청을 하는데, 생각보다 시간이 오래 걸리는데, 이 방법이 맞는 건가요??

큰돌님의 프로필 이미지
큰돌
지식공유자

네 맞습니다. 지금은 초반이라 시간이 많이 걸리는게 당연해요. 지금 정말 잘하고 계시니까 이대로만 꾸준히 해주세요. 그러다 보면 시간도 줄어들게 될거에요.

kimseunghwan7777님의 프로필 이미지
kimseunghwan7777

작성한 질문수

질문하기