백준 1316번 그룹 단어 체커 자바 / 백준 단계별로 풀어보기 자바 6단계 / 6. 문자열(6) :개발 공부 40일차(1)
개발 공부 40일차
백준에서 알고리즘 공부중
단계별로 풀어보기
단계별은 @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; 라고 해버려서 무조건 다 세게 만들었기 때문;
문자열도 끝!
어려웠지만 어찌저찌 잘 이해해서 다행이다
구글에 자료가 많아서 풀이방법도 정말 다양하다는 걸 배우는 요즘