inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

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

1-E

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

264

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

556

2

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

0

854

2

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

0

410

1

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

0

486

1

문제 풀 때 방향성에 대해

0

832

1

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

0

557

1

17071번 메모리 초과

0

408

1

1-C질문입니다!

0

443

2

2-B BFS 시간초과질문

0

658

2

1-O 13번 라인

0

458

1

6-J 놀이공원 문제 질문

0

407

1

구현관련 질문

0

514

1

강의 교안

0

345

1

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

0

560

1

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

0

558

1

1-K

0

493

2

3-G번 질문있습니다.

1

513

3

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

0

524

1

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

0

621

2

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

0

451

1

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

0

369

1

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

1

478

2

4-A 출력 질문

0

323

1

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

0

280

1