문자열 길이, substring에 대해 질문있습니다.
이전에 len함수의 경우엔 \0를 제외한 길이, a.length함수의 경우 \0를 포함한 길이 였다고 배운것 같은데.. 해당사항은 C언어 한정인가요?.. 헷갈리네요
문제 풀이를 보니 a.substring(1,4)면 4번째 자리를 제외한 문자열을 잘라 리턴해주는것 같습니다.(대충 감각따라 풀었더만 ello를 적어 틀렸네요..ㅠ) 이전 파이썬의 for문도 그렇고 이와같은 문자열 함수는 모두 1<=a<4 라고 생각하면 괜찮을까요? 아니면 예외함수가 있을까요?
답변 2
0
'\0' 을 포함해서 길이를 재는 것은 없습니다. 그것은 전체 크기인 sizeof입니다.
len, length와 같은 문자열과 관련된 길이의 함수나 메서드는 무조건 "순수 문자열의 길이"를 기준으로 합니다. C언어에서도 null 문자를 만나면 false가 되어 반환하는 식으로 함수를 만들었기 때문에 null이 포함될 수가 없습니다. (만약에, 정말 만약에 문제에서 null 문자까지 포함해서 리턴하라는 낚시성 함수가 나올 수도 있으니 무조건 코드 중심으로 보셔야 합니다. 이름에 낚이지 마시길.)
네 그렇게 외우셔도 됩니다. 다른 모든 언어가 그 컨벤션을 따라가는지는 모르겠지만, 적어도 자바와 파이썬에서는 그렇습니다.
1
네 시험은 코드를 해석하는 것이니까 만약 C언어로 나오는 경우 함수 이름 신경쓰지말고 그냥 코드 그대로 해석하시면 됩니다.
만약 Java처럼 원래 있는 스탠다드 라이브러리나 파이썬의 내장 함수를 물어보는 것이면 순수 문자열 길이로 동작합니다.
요 아래 인프런 AI 인턴도 설명해주고 있네요. null 문자를 포함하는 길이를 리턴하는 함수는 없습니다.
0
안녕하세요, 인프런 AI 인턴입니다. 주서님.
분명히 이해하기 어려울 수 있는 점들에 대해 설명드리겠습니다.
1. 문자열 길이와 관련된 함수들:
strlen함수(C언어):strlen함수는 문자열의 길이를 반환하는 함수로,null문자(‘\0’)를 제외한 실제 문자 개수를 반환합니다.
length관련(C/C++/Java):C언어의 경우 문자열의 길이를 구할 때strlen을 사용합니다. 자바의length()메소드는 문자열의null문자를 포함하지 않습니다. 파이썬의len()함수도 실제 길이만 구합니다.
2. substring 및 인덱싱 관련:
substring(start, end)메소드는 일반적으로 문자열을 자를 때 사용되며,start부터end-1까지의 문자열을 반환합니다.end위치의 문자는 포함되지 않는다는 점을 유의하셔야 합니다.
- 자바와 파이썬 등 여러 언어에서는 이러한 규칙이 적용되며, 이는
1 <= a < 4의 개념으로 이해하시는 것이 맞습니다.
예외적인 함수들:
일반적으로 대부분의 프로그래밍 언어의 substring이나 인덱스 관련 메소드들은 end 범위의 전까지 포함하는 형식을 따르고 있습니다. 따라서, 사용하시는 언어의 문서를 확인하시고 그 규칙을 따르면 예외적인 경우는 크게 없을 것입니다.
관련 게시물:
- 배열과 문자열 13:54초 출력결과 문의 에서 비슷한 설명을 볼 수 있습니다.
- Sub string 질문에서는
substring에 관한 정보와 결과에 대해 추가적인 예시를 제공합니다.
저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다.
현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏
추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.
필기자료 사라졌나요?(실기 일주일만에 안돼서 재도전-_-)
0
49
2
26년 1회 실기 해설 강의
0
67
2
53번 4-1 자료 오류 있는 것 같습니다.
0
73
2
7번문제
0
60
2
C언어 변형문제 9번문제 Pdf 수정요청
0
48
2
메서드 오버드라드
0
51
2
실수
0
46
1
공부 우선순위 우선강의 알려주세요
0
90
1
생성자 호출순서 강의 10번 문제 30분대 질문입니다
0
49
2
25년 2회 기출 5:40 질문입니다.
0
43
2
모의고사1회 3번 파이썬문제
0
75
2
C언어 출제변형 6번 문제
0
50
2
c언어 출제변형 강의 질문
0
32
2
28:40
0
33
2
C : 언어 배열과 문자열 수업자료
0
31
2
파이썬 리스트, 딕셔너리 질문
0
43
2
모의고사 관련 질문 건
1
69
3
자료 내용 오류
0
64
2
정적 변수, 정적 메서드(static) v2
0
51
2
v1.2 와 v0.91 PDF
0
104
1
업캐스팅 (부모형태, 자식생성자)
0
51
2
정보처리산업기사 준비중입니다.
0
74
2
실기 D -6
0
105
2
(기출) 2024년 2회 기출문제 - 이론 포함 22분32초 질문입니다
0
60
3





