다희의 코딩 성장일기
[정올 Begginer_Coder - 문자열] 2514.문자열 찾기_자바JAVA 본문
[ 문제 ] 정올 2514.문자열 찾기
문제 링크 : jungol.co.kr/bbs/board.php?bo_table=pbank&wr_id=1775&sca=2050
[ 입출력 ]
[ 풀이 ]
< 접근 방법 및 풀이 >
- String으로 입력 받고, StringBuilder를 사용해 3글자씩 조합해보기.
- 해당 3글자가 KOI 이면 KOI_cnt ++, IOI 이면 IOI_cnt ++
- 아래 JAVA 코드 참고
< 주의할 점 >
- 첫번째 for문 범위 설정하기! 입력받은 String의 길이 끝까지 탐색하는 것이 아니라 String의 length - 2까지 돈다.
- ex )
K | O | I | O | I | O |
0 1 2 3 4 5
length = 6이며, 6-2 = 4보다 작을 때 까지만 반복 돈다. i = 0 ~ 3까지
=> i 부터 i+2까지 세글자씩 조합하기 때문에.
012 = KOI
123 = OIO
234 = IOI
345 = OIO
JAVA코드
더보기
package 문자열;
import java.util.Scanner;
public class 문자열찾기_2514 {
public static void main(String[] args) {
Scanner sc = new Scanner (System.in);
String s = sc.next();
StringBuilder sb;
int koi_cnt = 0; // KOI 카운트 변수
int ioi_cnt = 0; // IOI 카운트 변수
for (int i = 0; i < s.length()-2; i++) {
sb = new StringBuilder(); //스트링빌더 생성
for (int j = i; j < i+3; j++) {
sb.append(s.charAt(j)); // 현재 i번째에서 3자리씩 더함
}
if(sb.toString().equals("KOI")) koi_cnt ++; //만들어진 글자가 KOI이면 카운트+1
if(sb.toString().equals("IOI")) ioi_cnt ++; // IOI이면 카운트 +1
}
System.out.println(koi_cnt);
System.out.println(ioi_cnt);
}
}
REVIEW
올해 뭣도 모르고 카카오 코테 봤었는데 카카오는 문자열 문제가 많이 나온다고 들었었다.
그때 1번문제 풀고 다 풀었지만 시간이 엄청 오래 걸렸고 진짜 대멘붕에 빠졌었다.
문자열 기초 잘 다져야겠다는 생각이 들었다.
문자열 많이 풀어보자!
'Algorithm > 정올' 카테고리의 다른 글
[JUNGOL] 정올 1880. 암호풀기(Message Decowding)_자바 JAVA (0) | 2020.12.27 |
---|---|
[JUNGOL] 정올 2857. 세로읽기_자바 JAVA (1) | 2020.12.27 |
[정올 Begginer_Coder - 문자열] 2604.그릇_자바JAVA (0) | 2020.12.14 |
[정올 Begginer_Coder - 수학1] 1002.최대공약수, 최소공배수_자바JAVA (2) | 2020.12.13 |
[정올 Begginer_Coder - 수학1] 1658.최대공약수와 최소공배수_자바JAVA (0) | 2020.12.13 |
Comments