• 카테고리

    질문 & 답변
  • 세부 분야

    알고리즘 · 자료구조

  • 해결 여부

    미해결

4번만 통과가 안되는데, 많이 고민해봤으나 잘모르겠네요..!

21.01.14 17:00 작성 조회수 141

0

#include <stdio.h>

int main() {

//f9는 컴파일, f10은 실행.

//채점받을때는 freopen주석처리하고 하기. 

//freopen("input.txt", "rt", stdin);

char first_str[105], sec_str[105];

int len_first_str=0, len_sec_str=0;

int flag_res=1;

scanf("%s", &first_str);

//printf("%s\n", first_str);

scanf("%s", &sec_str);

//각 길이 구하기 

for(int i=0; first_str[i] != '\0'; i++) {

len_first_str++;

}

for(int i=0; sec_str[i] != '\0'; i++) {

len_sec_str++;

}

//printf("len_first_str : %d\n", len_first_str);

//길이가 다르면 NO 

if(len_first_str != len_sec_str) {

printf("NO");

return 0;

}

else { //길이가 같으면 비교해보기, 각 char이 같다면, first_str의 각자리를 0으로 치환 

for(int i=0; i<len_first_str; i++) {

for(int j=0; j<len_first_str; j++) {

if(first_str[i] == sec_str[j]) {

first_str[i] = 0;

break;

}

}

//printf("first_str is : %s\n", first_str);

}

// 모두 0이라면 YES, 아니면 NO 

for(int i=0; i<len_first_str; i++) {

if(first_str[i] != 0) {

flag_res = 0;

break;

}

}

if(flag_res == 1) {

printf("YES");

}

else if(flag_res == 0) {

printf("NO");

}

}

return 0;

}

답변 2

·

답변을 작성해보세요.

1

안녕하세요^^

이방법으로는 

aaa

abb

도 아나그램으로 판별합니다. 디버그해보세요.

0

어하님의 프로필

어하

질문자

2021.01.15

감사합니다. 코드를짜면서 오해를 했네요..!