[프로그래머스 / C++] 외계어 사전

YH·2023년 7월 18일
0

문제

외계어 사전 : 문제 링크


문제 분석

  • 알파벳이 담긴 배열 spell과 외계어 사전 dic이 매개변수로 주어진다. spell에 담긴 알파벳을 한번씩만 모두 사용한 단어가 dic에 존재한다면 1, 존재하지 않는다면 2를 return
  • dic, spell 크기만큼 2중 for문을 돌리고, spell의 알파벳이 dic의 단어에 포함되어있지 않으면 확인용 변수인 check를 -1, answer를 2로 초기화하고 break
  • check가 0이라면 spell에 담긴 알파벳을 한번씩 모두 사용된것을 의미하므로 1, 이외의 경우 2를 return

string 헤더의 find() 함수 사용법
str.find("찾는 문자")
=> 찾는 문자를 str 문자열 내에서 찾았다면 해당 문자열의 시작 위치를, 그렇지 않을 경우 npos를 return


풀이

#include <string>
#include <vector>

using namespace std;

int solution(vector<string> spell, vector<string> dic) {
    int answer = 0;
    for(int i = 0; i < dic.size(); i++) {
        int check = 0;
        for(int j = 0; j < spell.size(); j++) {
            if(dic[i].find(spell[j]) == -1) {
                answer = 2;
                check = -1;
                break;
            }
        }
        if(check == 0) return 1;
    }
    return answer;
}
profile
Keep Recycling Your Dreams

1개의 댓글

comment-user-thumbnail
2023년 7월 18일

글 잘 봤습니다, 감사합니다.

답글 달기