https://www.acmicpc.net/problem/10809
문자열에서 특정 문자/문자열 을 찾는 메소드는 string::find() 로써
문자열.find("찾는 문자/문자열")
리턴값은
| 찾았을 때 | 찾은 문자의 첫번째 인덱스 값 |
| 못 찾았을 때 | string::npos 값을 반환!!! ** 주의 : -1 아님 |
문제에서 없으면 -1 출력하길래
그냥 문자열.find("알파벳") 이렇게 하면 알아서 되겠거니 했는데
찾아보니 c++ 에서는 string::npos 값이 출력된단다
지난번에도 그렇고 뭔가 틀리거나 exit이나 예외는 당연히 -1로 생각하는 경향이 있는 것 같다. 허허
<제출코드>
#include <iostream>
#include <string>
using namespace std;
int main(){
string alpahbet = "abcdefghijklmnopqrstuvwxyz";
string input;
cin >> input;
for(int i=0; i<alpahbet.size(); i++){
if(input.find(alpahbet[i]) == string::npos){
cout << -1 << " ";
} else{
cout << input.find(alpahbet[i]) << " ";
}
}
}'Algorithm > BOJ' 카테고리의 다른 글
| [백준/11718/c++] 그대로 출력하기 (0) | 2024.02.13 |
|---|---|
| [백준/2908/c++] 상수 (0) | 2024.02.13 |
| [백준/11720/c++] 숫자의 합 (0) | 2024.02.12 |
| [백준/5597/c++] 과제 안 내신 분..? (0) | 2024.02.10 |
| [백준/27433/c++] 팩토리얼 2 (1) | 2024.02.05 |