inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

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

1-E

s.begin()또는 s.substr(0,1)과 char와의 비교는 어떻게하나요?

259

Kouga

작성한 질문수 17

0

안녕하세요

제가 1159번 문제를 풀다가 의문이 생겨서 질문 드립니다.

저는 문자열 첫글자를 s.begin()또는 s.substr(0,1)을 통해 추출한 후, 이를

for (int i = 0; i < a; ++i) {

for (int j = 0; j < 26; ++j) {

if (s[i].begin() == ('a' + j)) {

++cnt[j];

}

 

}

}

다음과 같은 방식으로 비교하려 하였습니다.

하지만, (s[i].begin() == ('a' + j)) 이 부분에서 둘이 비교할 수 없다면서 오류가 뜨더군요.

형변환을 시켜서 비교를 시도해보아도 오류는 사라지지 않았습니다.

이 둘은 어떻게 비교를 해야하나요?

C++ 코테 준비 같이 해요!

답변 1

0

큰돌

일단 s.begin()는 이터레이터를 반환해요.

만약에 비교를 하고 싶다면 이렇게 하시면 됩니다.

#include <bits/stdc++.h>
using namespace std;
string s = "123"; 

int main() {
	if((char) * s.begin() == '1') cout << 1; 
	
	return 0;
}

1-E질문입니다!

0

515

2

3-L 틀린 부분 피드백 부탁드립니다.

0

815

2

1-A문제 순열재귀함수 질문입니다.

0

380

1

1-A 일곱난쟁이문제입니다

0

454

1

문제 풀 때 방향성에 대해

0

797

1

맥에서 vs code로 실행 관련 질문입니다

0

520

1

17071번 메모리 초과

0

384

1

1-C질문입니다!

0

417

2

2-B BFS 시간초과질문

0

628

2

1-O 13번 라인

0

437

1

6-J 놀이공원 문제 질문

0

379

1

구현관련 질문

0

481

1

강의 교안

0

316

1

실력을 더 올리고나서 강의를 보는 것이 맞을까요?

0

544

1

안녕하세요! 재귀함수에 관해서 질문드립니다

0

534

1

1-K

0

471

2

3-G번 질문있습니다.

1

469

3

3-C 실행 시간 질문드립니다.

0

491

1

4-A 문제 풀이 질문있습니다.

0

590

2

비트마스킹 연산자 "1의 보수" 영문 표기법

0

433

1

격자탐색 문제에서 BFS 시간복잡도 질문드립니다.

0

332

1

3-O go 함수 질문 드립니다.

1

443

2

4-A 출력 질문

0

301

1

1주차 1-O 질문드립니다

0

253

1