Notice
Recent Posts
Recent Comments
Link
DY N DY
실력키우기 문자열찾기(JAVA) 본문
2514 : 문자열 찾기
제한시간: 1Sec 메모리제한: 32mb
해결횟수: 1118회 시도횟수: 1694회
주어진 문자열에서 연속 3개의 문자가 IOI 이거나 KOI인 문자열이 각각 몇 개 있는지 찾는 프로그램을 작성하라.
문자열은 알파벳의 대문자로만 이루어진다. 예를 들어 "KOIOIOI"라는 문자열은 KOI 1개 , IOI 2개가 포함되어있다.
[Copy]KOIOIOI | [Copy]1 2 |
[Copy]KORKDIOIDXHKOIOIOIOPKOI | [Copy]2 3 |
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 36 37 38 39 40 41 42 43 | /************************************************************** Problem: 2514 User: a132034 Language: Java Result: Success Time:164 ms Memory:9460 kb ****************************************************************/ import java.util.Scanner; public class Main { private static Scanner sc; public static int [] result; public static void main(String[] args) { sc = new Scanner(System.in); String str = sc.nextLine(); char [] strArr = str.toCharArray(); int count1 = 0 ; int count2 = 0 ; for ( int i = 0 ; i < strArr.length - 2 ; ++i) { if (strArr[i] == 'K' ) { if (strArr[i+ 1 ] == 'O' && strArr[i+ 2 ] == 'I' ) count1++; } else if (strArr[i] == 'I' ) { if (strArr[i+ 1 ] == 'O' && strArr[i+ 2 ] == 'I' ) count2++; } } System.out.println(count1); System.out.println(count2); } } |
단순하게 0번째 배열에서 끝에서 2번째 배열까지(길이가 3인 문자열을 찾는 것이므로) for문을 돌며
K 또는 I가 나올 경우 다음과 다다음의 문자를 확인하여 count1(KOI), count2(IOI)를 증가시켰다.
'PARK > ALGORITHM' 카테고리의 다른 글
실력키우기 큐(JAVA) (0) | 2016.04.29 |
---|---|
실력키우기 숫자의 개수(JAVA) (0) | 2016.04.28 |
실력키우기 스택(JAVA) (0) | 2016.04.27 |
실력키우기 이진탐색(JAVA) (0) | 2016.04.26 |
실력키우기 약수(C++) (0) | 2016.04.20 |