먼저, 19번의 반복문(for문)은 모든 입력된 문자열의 길이가 같기 때문에 (즉, 모든 arr[번호]의 문자열 길이가 같습니다)
arr[0]번 문자열의 길이를 기준으로 모든 문자를 0부터 arr[0].size() 까지 하나씩 검사하기 위한 반복문입니다.
20번의 dif = false는 지금 탐색하는 문자, i == 0 이라면 첫번째 문자(arr[모든 번호][i])가 모두 같다고 가정합니다.
그리고 21번부터 문자열을 서로 비교하면서 i 자리의 문자가 서로 다른지 확인합니다.
만약 다르다면 dif가 true가 되고 i 자리의 문자가 다른 문자열(arr)이 존재한다는 뜻이 됩니다.
따라서 27번에서
dif가 true면 i 자리의 문자는 확실하지 않으므로 ?가 출력되도록 하고,
dif가 false면 i 자리의 문자는 모두 같으므로 arr[0]의 i 번째 자리르 출력합니다. ( 다른 arr[번호]의 i 자리도 같다는 뜻이기 때문입니다. )
이해안가시는 부분 있으면 댓글 달아주시면 답변 드리겠습니다!
shwan 2년 전
boolean부분부터 이해가 잘 안갑니다 ㅠㅠ