1. 알파벳 순서가 잘못되었습니다. n은 m 다음에 옵니다.
2. a에 각 알파벳 j (in c)가 있는지 반복문으로 검사할 때, j와 a[i]가 일치하지 않으면 그 때마다 -1이 리스트에 추가됩니다.
그래서 리스트 d에 지나치게 많은 -1이 들어가게 된 것입니다.
예를들어 입력이 ab 라면, d에 추가되는 내용은
j (a) == a[0] (a) 이므로 0; break;
j (b) != a[0] (a) 이므로 -1
j (b) == a[1] (b) 이므로 1
j (c) != a[0] (a) 이므로 -1
j (c) != a[1] (b) 이므로 -1
j (d) != a[0] (a) 이므로 -1
j (d) != a[1] (b) 이므로 -1
...
와 같습니다.
최종적으로 0A -1B 1B 뒤에 -1이 각 알파벳당 두 번 (입력의 길이가 2이므로)씩 총 24 * 2 개 의 -1이 추가됩니다.
else 이하의 내용을 삭제하고, if j in a 등 다른 조건을 이용하여 각 알파벳마다 -1과 알파벳을 찾은 위치 중 하나만 추가되게 해보세요.
3. 리스트를 print(*d)와 같이 출력하면 예제 출력 형식과 같이 공백으로 구분해서 출력됩니다. 편리한 기능입니다.
cshg1995 3년 전
여기서 어디를 수정해야지 문제 출력처럼 나올까요?? 정말로 모르겠습니다 선생님들