본문 바로가기

문자열 처리4

백준알고리즘 1316번 그룹 단어 체커 1316번 그룹 단어 체커 문제는 문자열 처리 알고리즘 문제입니다. 여기서 말하는 그룹 단어는 동일한 문자는 연속적으로 나타나야 합니다. 예를 들어, "happy" 문자열은 p가 중복으로 나오지만 연속적으로 나오기 때문에 그룹 단어입니다. 반면에 "aba" 문자열은 맨마지막에 a 문자가 떨어져서 나타나기 때문에 그룹 단어가 아닙니다. 입력 값으로는 소문자 알파벳만 나오기 때문에 알파벳 숫자만큼 크기의 visited 배열을 생성합니다. 문자열에서 문자 하나씩 순회하면서 이전에 나타났는지 체크합니다. 처음으로 나타난 문자라면 일단 변수에 저장하고, 다음 문자와 비교해서 중복인지 체크합니다. while (i < (arrWord.length-1)) { if (character != arrWord[++i]) { .. 2019. 7. 30.
백준알고리즘 10988번 팰린드롬인지 확인하기 10988번 팰린드롬인지 확인하기 문제는 문자열 처리 알고리즘 문제입니다. 팰린드롬 또는 회문이란 간단하게 말해서 입력 받은 문자열이 거꾸로 해도 같은 문자를 뜻한다. 예를 들어 한글로는 토마토가 있고, 영어로는 level이 있다. import java.util.Scanner; public class Main { public static void main(String[] args) { Scanner scan = new Scanner(System.in); String text = scan.next(); System.out.println(isPalindrome(text)); scan.close(); } private static int isPalindrome(String text) { int textLeng.. 2019. 4. 25.
백준알고리즘 1475번 방 번호 1475번 방 번호 문제는 문자열 처리 알고리즘입니다. 방 번호 4자리 숫자를 입력 받아서 최소 숫자 세트를 이용하여 표현해야 한다. 문제에서 6과 9은 혼용되어서 사용할 수 있다고 했다. 숫자 세트에는 0부터 9까지의 숫자가 들어 있다. 예제 입력으로 9999 방 번호 숫자가 들어오면, 숫자 세트는 최소 2개를 사용한다. 9는 6으로도 표현할 수 있으므로 숫자 세트 2개에 있는 6, 9, 6, 9 숫자를 이용한다. 6과 9를 혼용해서 사용하므로 처음 입력 받을 때 6 문자열을 모두 9로 변경할 수 있다. 만약, 예제 입력으로 6666이 들어오면 9999로 변경될 수 있다. 문자열 변경을 하고 나서 toCharArray() 메서드를 이용하여 각 숫자별 개수가 몇 개 있는지 체크한다. int index =.. 2019. 4. 22.
백준 알고리즘 1152번 단어의 개수 1152번 단어의 개수 문제는 문자열 처리 알고리즘 문제이다. 1152번: 단어의 개수 첫 줄에 영어 대소문자와 띄어쓰기로 이루어진 문자열이 주어진다. 이 문자열의 길이는 1,000,000을 넘지 않는다. 단어는 띄어쓰기 한 개로 구분되며, 공백이 연속해서 나오는 경우는 없다. 또한 문자열의 앞과 뒤에는 공백이 있을 수도 있다. www.acmicpc.net 단어 구분이 띄어쓰기만 이루어져 있으므로 문자열을 공백으로 분리한 뒤, 반복문을 통해 단어의 개수를 세면 결과값을 도출할 수 있다. 한 단어가 여러 번 등장하더라도 등장한 횟수만큼 모두 세는 것이기 때문에 별다른 조건문이 필요 없다. import java.util.Scanner; /** * 단어의 개수 문제 * 알고리즘 분류 : 문자열 처리 * * @.. 2019. 4. 6.