• 카테고리

    질문 & 답변
  • 세부 분야

    알고리즘 · 자료구조

  • 해결 여부

    미해결

16번, string형 관련 질문 있습니다.

21.02.03 21:01 작성 조회수 158

0

선생님 안녕하세요. 이제 막 공부하기 시작한 학생입니다!

16번 문제를 보고

첫번째 문자열의 문자가 두번째 문자열에 있으면 해당 문자를 '0'으로 바꾸어, 아나그램이라면 두번째 문자열이 '00000' 이런 식으로 바뀌게끔 코드를 작성했습니다.

제가 생각한 방법으로 코드를 짜려고 하니 string 이 필요할 것 같아 char형 대신 string형으로, scanf 대신 cin을 사용해 문제를 해결하였습니다.

제가 아무래도 string형과 cin/cout에 익숙해져있어서 이런 식으로 생각을 하게 된 것 같은데,

코딩테스트 준비를 위해서는 string형 대신 char형의 배열로 문자열을 다루는 것에 익숙해지는게 코테 보는데 더 도움이 될까요?

코딩테스트에서(c++의 경우) cin/cout 대신에 scanf/printf를 더 많이 사용하는지도 궁금합니다.

#include <iostream>
#include <string>
using namespace std;
int main()
{
	//freopen("input.txt", "rt", stdin);
	string str1;
	string str2;
	//scanf("%s", &str1);
	//scanf("%s", &str2);
	cin>>str1>>str2;
	int pos;
	for (int i = 0; i < str1.size(); i++) {
		pos = (int)str2.find(str1[i], 0);
		if(pos==-1){
			printf("NO");
			return 0;
		} else{
			str2[pos]='0';
		}
	}
	printf("YES");

	return 0;

}

답변 1

답변을 작성해보세요.

0

안녕하세요^^

저도 요즘은 C++로만 합니다. cin과 cout사용하고, string 사용합니다. 섹션5의 첫번째 영상인 입력출속도향상관련 영상보시고 공부시작하면 좋겠습니다.