본문 바로가기

Algorithm/BOJ

[백준/10809/c++] 알파벳 찾기

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