알고리즘/백준

백준 1316번 그룹 단어 체커 자바 / 백준 단계별로 풀어보기 자바 6단계 / 6. 문자열(6) :개발 공부 40일차(1)

김발자~ 2022. 9. 9. 13:06
반응형

개발 공부 40일차

백준에서 알고리즘 공부중

https://www.acmicpc.net/step

 

단계별로 풀어보기

단계별은 @jh05013님이 관리하고 계십니다. 단계제목설명정보총 문제내가 맞은 문제1입출력과 사칙연산입력, 출력과 사칙연산을 연습해 봅시다. Hello World!152조건문if 등의 조건문을 사용해 봅시다

www.acmicpc.net

 

이번 문제 링크

https://www.acmicpc.net/problem/1316

 

1316번: 그룹 단어 체커

그룹 단어란 단어에 존재하는 모든 문자에 대해서, 각 문자가 연속해서 나타나는 경우만을 말한다. 예를 들면, ccazzzzbb는 c, a, z, b가 모두 연속해서 나타나고, kin도 k, i, n이 연속해서 나타나기 때

www.acmicpc.net

 

 

 

 


6. 문자열

(10) 백준 1316번 문제

그룹 단어 체커

 

문제

 

 

 

과정 생각해보기

 

생각해본 과정은

일단 StringTokenizer 로 각각 토큰을 구분한 뒤

i 랑 i+1인 j를 비교하고,

이 값들 중 가장 마지막에 있는 인덱스 값에서 그 인덱스 앞에 있는 인덱스 값을 뻈을 때

2 이상이면 떨어져 있으니까 추가를 하지 않는다

근데 이 마지막 인덱스를 어떻게 구할지 모르겠다

 

 

 

오답

그래서 일단 전체 문자가 다 다를 경우를 j 반복문을 만들어서 해봤는데, 

이 경우 앞뒤가 다르기만 하면 1을 더하므로 문제가 원하는 바와 다르다

 

StringTokenizer도 구분 뒤에는 무슨 메소드를 써야할지 막막했다

 

 

 

 

정답 인정 코드

https://cocoon1787.tistory.com/613 블로그를 참조했다

 

과정을 한 번 서술해봤다

 

 

 

직후 백지 복습

예제 입력해봤는데 답이 다르게 나와서 이해한 것 토대로 이것저것 수정하면서 똑같이 구현했다

틀렸던 이유는 else 구문에서 check가 아니라 group = true; 라고 해버려서 무조건 다 세게 만들었기 때문;

 

 

 

 


문자열도 끝!

어려웠지만 어찌저찌 잘 이해해서 다행이다

구글에 자료가 많아서 풀이방법도 정말 다양하다는 걸 배우는 요즘

반응형