[알고리즘] 백준1316 -문자열
https://www.acmicpc.net/problem/1316
위와 같이 알고리즘 문제이다.
문제를 요약해보자.
- case가 몇 개 인지 입력 받는다.
- (1)에서 입력한 case만큼의 단어를 입력한다.
2-1) 알파벳 소문자로 이루어진 단어이고, 문제 조건처럼 앞에 나온 단어가
한자리 이상 건너 뛰어있는 단어는 count하지 않는다.- count를 출력한다.
생각보다 간단한 문제 같지만
단어 입력의 첫번째와 두번째, 세번째, 네번째를 어떻게 비교하고 조건을 어떻게 줄지 막막했다.
계속 보다가 문제가 풀리지 않아 해설을 보았다.
package baekjoon.solution;
import java.util.Scanner;
public class Baekjoon_1316 {
public static void main(String[] args) {
Scanner scan = new Scanner(System.in);
int inputNum = scan.nextInt();
int cnt = 0;
for (int T = 0; T < inputNum; T++) {
String str = scan.next();
int[] arr = new int[26];
char prev = 0;
//이전 단어를 받을 코드!
for (int i = 0; i < str.length(); i++) {
if (i == 0) {
prev = str.charAt(i);
arr[prev - 97] = 1;
continue;
}
if (prev == str.charAt(i)) {
continue;
} else {
if (arr[str.charAt(i) - 97] != 1) {
arr[str.charAt(i) - 97] = 1;
prev = str.charAt(i);
} else {
cnt--;
break;
}
}
}
cnt++;
}
System.out.println(cnt);
}
}
코드를 보고 어렵다고 생각이 들었는데, 쉬운 문제라고한다!
아직 if문이 어떻게 돌아가는지 정확하게 알고있지 못한것 같다.
2-3일 뒤에 다시 문제를 풀어보도록 하겠다.
Author And Source
이 문제에 관하여([알고리즘] 백준1316 -문자열), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://velog.io/@hoha/알고리즘-백준1316-문자열저자 귀속: 원작자 정보가 원작자 URL에 포함되어 있으며 저작권은 원작자 소유입니다.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)