문제: https://programmers.co.kr/learn/courses/30/lessons/49993
시뮬레이션 문제입니다.
임의의 스킬이 스킬트리의 패턴과 일치하지 않는 지 확인하는 방법은 아래와 같습니다.
스킬트리의 맨 처음단어부터 패턴과 일치하는 지 idx 변수로 조사하고 있다고 하겠습니다.
(일치하는 단어를 찾았다면 idx++)
for (int i = 0; i < random_skill.length(); ++i)
int position = skill_tree.find(random_skill[i])
위와 같이 임의의 스킬에서 스킬트리와 일치하는 알파벳을 찾았는데, 이 알파벳의 위치가 idx 변수보다 크다면
아직 앞의 단어가 처리되지 않았는데 뒤에 있는 단어가 먼저 임의의 스킬에서 등장한 것임을 알 수 있습니다.
이런 패턴에 안 걸렸다면 스킬트리와 부합하는 단어입니다.
코드: https://github.com/cottory/algorithm/blob/master/PROGRAMMERS/summer_winter05.cc
'Algorithm > Programmers' 카테고리의 다른 글
[코딩테스트 연습] 쿠키 구입 (0) | 2020.05.12 |
---|---|
[코딩테스트 연습] 배달 (0) | 2020.05.11 |
[코딩테스트 연습] 기지국 설치 (0) | 2020.05.10 |
[코딩테스트 연습] 숫자 게임 (0) | 2020.05.10 |
[코딩테스트 연습] 방문 길이 (0) | 2020.05.09 |