우 객 2017 학교 모집 진짜 문제 온라인 프로 그래 밍 - 360 - 최 강 두뇌

2356 단어 개인 소감
우 객 은 360 회사 가 2017 년 에 모집 한 프로 그래 밍 문 제 를 풀 었 는데 이 문 제 를 풀 때 갑자기 기발 한 생각 이 들 었 고 정규 표현 식 을 사용 하여 AC 에 성공 했다.그 제목 은 다음 과 같다.
제목 설명
B 군 은 기 차 를 타고 친구 들 과 N 시 에서 M 시 사이 로 여행 했다.그녀 는 길 도중에 자다 가 깼 다.그녀 가 깨 어 나 창밖 의 풍경 을 보 았 을 때, 모든 기차 역 에는 특별한 색깔 의 깃발 이 있 음 을 알 았 으 나, 그녀 가 본 깃발 은 단지 지나 간 일부분 에 불과 했다.B 군 은 차 를 타 는 과정 에서 두 번 깨 어 난 시간 이 있 었 고, 그녀 는 여정 의 종점 에 도 착 했 을 때 잠 을 자고 있 었 다.역 을 나 갈 때 그녀 는 친구 들 과 이 야 기 를 나 누 었 다. 친구 들 은 매우 재 미 있 었 다. 그들 은 N 에서 M 사이 에 역 을 지나 가 는 깃발 색깔 을 차례대로 열거 한 다음 에 작은 B 가 기억 하 는 깃발 색깔 서열 을 알려 주 었 다. 작은 B 가 N 과 M 사이 에서 어떤 방향 으로 말 하 는 색깔 의 깃발 을 볼 수 있 는 지, 아니면 전혀 볼 수 없 는 지 판단 하 게 해 주 었 다.색깔 은 알파벳 으로 대표 하고, 같은 알파벳 은 같은 색깔 을 대표 하 며, 다른 알파벳 은 다른 색깔 을 나타 낸다.
입력 설명:
          ,          ,                     ,     10^5,  N M       。   M N   ,       ,      。     B              ,     B              。                   ,     100   。             B         。

출력 설명:
       ,         B     。
  
forward -  N M  ; 

backward - M N    

both -         ;  

invalid -             ;

예시 1
입력
atob 
a 
b 
aaacaaa 
aca 
aa

출력
forward 
both

내 코드:
import java.util.Scanner;

public class Main{
    public static void main(String args[]){
    	Scanner sc = new Scanner(System.in);
    	while(sc.hasNext()){
    		String station = sc.nextLine();
    		String first = sc.nextLine();
    		String last = sc.nextLine();
    		boolean forward = false;
    		boolean backward = false;
    		String regex1 = "\\D*" + first + "\\D*" + last + "\\D*";
    		String regex2 = "\\D*" + last + "\\D*" + first + "\\D*";
    		if(station.matches(regex1) == true)
    			forward = true;
    		if(station.matches(regex2) == true)
    			backward = true;
    		if(forward == true && backward == true)
    			System.out.println("both");
    		else if(forward == true && backward == false)
    			System.out.println("forward");
    		else if(forward == false && backward == true)
    			System.out.println("backward");
    		else
    			System.out.println("invalid");
    	}
    }
}

정규 표현 식 으로 문 제 를 해결 하 는 것 이 편리 할 때 가 많 지만 정규 표현 식 은 문자열 과 일치 하 는 것 을 어떻게 실현 합 니까?다음은 정규 표현 식 원리 에 관 한 지식 을 찾 아 보 겠 습 니 다.

좋은 웹페이지 즐겨찾기