inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트

2-I

2- I segmentation fault

171

kkim360

작성한 질문수 31

0

안녕하세요 선생님 해당 코드는 정답코드입니다. 그러나 제가 주석처리한부분으로 코드를 짰을때는 segmentation error가 나와서 그 이유를 여쭤보고 싶습니다.

또한 선생님께서는 size()를 사용하셨고 저는 length()를 사용했는데 size()와 length()의 장단점도 알고싶습니다

 

http://boj.kr/df71a1d8b94a49cca8ed3d2cbb104d78

감사합니다

c++ 코딩-테스트

답변 1

0

큰돌

안녕하세요 ㅎㅎ

	// if(s1.length() == s2.length()){
	// 	int i = 0;
	// 	while(s1[i] == s2[i]){
	// 		i++;
	// 	}
	// 	return s1[i] < s2[i];
	// }

이렇게만 bool 함수를 작성하셨다면 s1와 s2의 길이가 다를 때는 어떻게 하는지가 명시가 되어있지 않아서 에러가 뜨는 것 같습니다. 모든 경우의 수를 고려한 bool 함수를 구축해야 합니다.

 

또한 선생님께서는 size()를 사용하셨고 저는 length()를 사용했는데 size()와 length()의 장단점도 알고싶습니다

>>

C++의 std::string 클래스에서 length()와 size()는 동일한 기능을 제공합니다. 저는 개인적으로 size()가 글자수가 적기 때문에 이를 애용하는 편입니다.

 

참고로 공통점은 다음과 같습니다.

공통점

  • length()와 size()는 모두 문자열의 길이(문자의 개수)를 반환합니다.

  • 반환 값의 타입은 std::string::size_type입니다.



또 질문 있으시면 언제든지 질문 부탁드립니다.

좋은 수강평과 별점 5점은 제게 큰 힘이 됩니다. :)

감사합니다.

강사 큰돌 올림.

0

kkim360

선생님 length()와 size()의 반환 타입이 int값이 아님에도 불구하고 int형과 비교연산자를 사용할 수 있는 이유는 뭔가요??

예시 코드입니다!

int I = 0;
vector<int> v;

if(I == v.length()) cout << "same!";

0

큰돌

안녕하세요 ㅎㅎ

int와 std::size_t를 비교할 때는 int는 size_t로 변환되서 비교가 됩니다. 이를 유형 변환( type conversion 또는 type promotion)이 일어났다라고 합니다.

참고로 size_t는 0부터 특정양수까지 표현되므로 음수와 size_t타입을 비교할 때는 주의해야 합니다.

size_t의 범위

  • 32비트 시스템: size_t는 4바이트(32비트), 0에서 4,294,967,295(2^32 - 1)까지

  • 64비트 시스템: size_t는 8바이트(64비트), 0에서 18,446,744,073,709,551,615(2^64 - 1)까지

 

감사합니다.

코딩 살구클럽 가입 문의

0

66

2

코딩살구클럽 가입문의

0

69

2

3-K private case 질문

0

64

2

안녕하세요. 코딩살구클럽 문의드립니다!

0

77

2

7:41 듣다가 질문합니다

0

74

2

코드 리뷰 요청드립니다!

0

82

2

코딩살구클럽 계정 문의

0

78

2

SK하이닉스 대비 강의수강

0

212

3

코딩살구클럽 등록부탁드립니다.

0

78

2

7-F 재귀로 풀시 런타임애러

0

73

1

1-N 문제 질문입니다. (+ 채점오류)

0

82

2

코딩살구클럽 가입 확인 부탁드립니다.

0

86

2

직장인 코테 합격 공부방법 문의

0

124

2

코딩살구클럽 가입 방법

0

95

2

6-H 체점 관련 질문

0

74

1

채점서버 연결 관련 질문입니다

0

101

2

삼성 s직군

0

88

1

삼성 코테 없어짐

0

210

1

코딩살구클럽 가입부탁드립니다

0

87

2

코딩살구클럽 가입 요청 확인부탁드립니다

0

69

2

5-S 테스트 케이스 질문

0

78

2

코살 문제풀이 환경

0

88

2

2 - T 오큰수 문제가 있는 것 같습니다.

0

81

1

추천 추가문제들

0

74

2