inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

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

2-I

2- I segmentation fault

160

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

12

2

코딩살구클럽

0

15

1

코딩살구클럽 문의

0

26

2

코딩살구클럽 승인

0

31

2

DP 경우의 수 설명이 이해가 되지 않습니다.

0

32

2

3-F 채점 관련 질문

0

29

1

BFS, DFS 활용이 되는 상황에서의 방향성

0

32

2

코딩살구클럽 승인

0

42

2

코딩살구클럽승인

0

38

3

코딩살구클럽 승인

0

50

2

3-D 관련 질문

0

35

2

코살구 회원가입 문의

0

45

2

코살구 로그인 문제

0

65

2

3-A 문제 풀이 관련 질문

0

56

3

2-O 질문 있습니다

0

38

2

2-T 문제에 관한 질문

0

40

2

코딩 살구 클럽 접속 및 사용방법 문의

0

63

2

안녕하세요~. 현재 코살코딩클럽 사이트가 접속이 안됩니다~

0

64

2

코딩살구클럽 로그인문제

0

78

3

코딩 살구 클럽 로그인 문제

0

84

2

2-J 채점관련 질문

0

66

3

코딩 살구 클럽 Python 지원 가능 여부

0

77

1

살구클럽 아이디 없음 문제

0

76

1

1-O 코딩살구클럽 채점관련 질문

0

61

2