티스토리 뷰

주어진 2개의 문자열 a, b에 대하여 두 개의 하위 문자열이 같은 위치에 존재하는 경우의 수를 출력하시오.

a = 'xxcaazz'

b = 'xxbaaz'

인 경우 출력값은 3입니다.( 'xx', 'aa', 'az')

 

테스트케이스

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35

public class Main {

    

    public static void main(String[] args) {

        

        System.out.println(stringMatch("xxcaazz","xxbaaz"));

        System.out.println(stringMatch("abc","abc"));

        System.out.println(stringMatch("abc","axc"));

    }

    

    public static int stringMatch(String a, String b) {

          String[] temp1 = a.split("");

            String[] temp2 = b.split("");

            StringBuilder sb = new StringBuilder();

            int start = 0;

            int end = 0;

            for(int i=0;i<(temp1.length < temp2.length ? temp1.length : temp2.length);i++) {

                if(end - start == 2) {

                    sb.append(a.subSequence(start, end)+",");

                    start = i-1;

                    end = i-1;

                    i-=2;

                }else if(temp1[i].equals(temp2[i])) {

                    end++;

                }else {

                    start = i;

                    end = i;

                }

            }

            if(end - start == 2) sb.append(a.subSequence(start, end));

            return sb.toString().length() == 0 ? 0 : sb.toString().split(",").length;

        }

 

 

}

 

Colored by Color Scripter

cs

 

출처 : https://codingbat.com/prob/p182414

 

'알고리즘' 카테고리의 다른 글

CodingBat 알고리즘 Warmup-2 : frontTimes 문제  (0) 2020.02.04
자바로 구현하는 개미수열  (0) 2020.02.04
트리 구조  (0) 2019.05.24
[알고리즘] 1_2 알고리즘 기본  (0) 2018.12.01
[알고리즘] 1_1 알고리즘 기본  (0) 2018.12.01
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2025/01   »
1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31
글 보관함