목차
※ 쉽고 명확하게 풀이하실 수 있도록 문제 지문을 일부 수정했습니다. 실제 경진대회 문제 지문과 차이가 있는 점 참고 부탁드립니다.
언어별 메모리 제한/수행시간 제한(공통 적용)
- C/C++
메모리제한 512MB, 수행시간 2초
- Java
메모리제한 512MB, 수행시간 4초
- Python3
메모리제한 512MB, 수행시간 10초
Q4. 생산공정
알고리즘
- Trie
- KMP
문제
현대모비스는 자동차 부품 생산을 위한 N개의 생산 공정이 가동되고 있다.
생산 공정은 1개 이상, 10개 이하의 유닛으로 구성되어 있으며, 한 공정 과정인 유닛은 알파벳 대문자로 표현한다.
부품이 생산되는 과정 중 이미 앞에서 불량이 나타난 경우 이후 공정을 거치더라도 제대로 된 부품이 만들어질 수 없다. 데이터사이언스 팀에서는 불량 부품 생산으로 인한 피해를 최소화하기 위해, 불량 부품이 생산될 수 있는 가능성이 있는 생산 공정을 찾는 연구를 진행하고 있다.
데이터사이언스 팀의 신입 개발자인 당신에게, 이러한 연구 결과를 토대로 불량 부품이 생산될 수 있는 생산 공정 중 가장 많은 곳이 어디인지 확인할 수 있는 프로그램의 개발이 과제로 주어졌다. 연구 결과는 알파벳 대문자로만 이루어진 1개 이상, 10개 이하의 문자열로 구성되어 있다.
불량 부품이 생산될 수 있는 생산 공정은 연구 결과로 시작하는 생산 공정을 뜻한다. 예를 들어 다음과 같이 7개의 생산 공정이 있다고 가정해보자.
ABCD
AC
ABCD
ABD
AC
ABC
CABDE
만약 데이터사이언스 팀에서 찾은 불량 부품이 생산될 수 있는 가능성이 있는 생산 공정이 AB라면, 전체 생산 공정 중 불량 부품이 생산될 수 있는 생산 공정은 ABCD, ABCD, ABD, ABC 총 4개이고, 그중 가장 많은 생산 공정은 ABCD이다.
불량 부품이 생산될 수 있는 생산 공정 중, 가장 많은 개수의 생산 공정을 찾아보시오.