문제 풀이 (32) 썸네일형 리스트형 [JAVA11/알고리즘]1-8 유효한 팰린드롬 문제 앞에서 읽을 때나 뒤에서 읽을 때나 같은 문자열을 팰린드롬이라고 합니다. 문자열이 입력되면 해당 문자열이 팰린드롬이면 "YES", 아니면 “NO"를 출력하는 프로그램을 작성하세요. 단 회문을 검사할 때 알파벳만 가지고 회문을 검사하며, 대소문자를 구분하지 않습니다. 알파벳 이외의 문자들의 무시합니다. 입력 첫 줄에 길이 100을 넘지 않는 공백이 없는 문자열이 주어집니다. 출력 첫 줄에 길이 100을 넘지 않는 공백이 없는 문자열이 주어집니다. 예시 입력 1 found7, time: study; Yduts; emit, 7Dnuof 예시 출력 1 YES 해결 1-7 회문 문자열 문제와 비슷한 유형의 문제이다. 이 문제의 키포인트는 알파벳 이외의 문자들은 무시한다는 점이다. 알파벳 이외의 문자들을 무시.. [JAVA11/알고리즘]1-7 회문 문자열 문제 앞에서 읽을 때나 뒤에서 읽을 때나 같은 문자열을 회문 문자열이라고 합니다. 문자열이 입력되면 해당 문자열이 회문 문자열이면 "YES", 회문 문자열이 아니면 “NO"를 출력하는 프로그램을 작성하세요. 단 회문을 검사할 때 대소문자를 구분하지 않습니다. 입력 첫 줄에 길이 100을 넘지 않는 공백이 없는 문자열이 주어집니다. 출력 첫 줄에 길이 100을 넘지 않는 공백이 없는 문자열이 주어집니다. 예시 입력 1 gooG 예시 출력 1 YES 해결 두가지 방법으로 해결해 보았다. 1. StringBuilder 의 reverse() 사용하기 먼저, 입력받은 문자열을 StringBuilder로 만들어준다. 그 StringBuilder를 reverse()를 이용하여 뒤집어준다. 그 뒤집힌 문자열과 원래 문.. [JAVA11/알고리즘]1-6 중복 문자 제거 문제 소문자로 된 한개의 문자열이 입력되면 중복된 문자를 제거하고 출력하는 프로그램을 작성하세요. 중복이 제거된 문자열의 각 문자는 원래 문자열의 순서를 유지합니다. 입력 첫 줄에 문자열이 입력됩니다. 문자열의 길이는 100을 넘지 않는다 출력 첫 줄에 중복문자가 제거된 문자열을 출력합니다. 예시 입력 1 ksekkset 예시 출력 1 kset 해결 먼저, indexOf 함수에 대해서 알아보자. 특정 문자가 문자열의 어느 index에 위치하는지 찾기 위해서 indexOf 함수를 사용한다. string.indexOf(searchvalue, position) : 문자열에서 특정문자열을 찾고, 검색된 문자열이 '첫번째'로 나타나는 위치 index를 리턴해준다. 파라미터 searchvalue : 필수 입력값, .. [JAVA11/알고리즘] 1-5 특정 문자 뒤집기 문제 영어 알파벳과 특수문자로 구성된 문자열이 주어지면 영어 알파벳만 뒤집고, 특수문자는 자기 자리에 그대로 있는 문자열을 만들어 출력하는 프로그램을 작성하세요. 입력 첫 줄에 길이가 100을 넘지 않는 문자열이 주어집니다. 출력 첫 줄에 알파벳만 뒤집힌 문자열을 출력합니다. 예시 입력 1 a#b!GE*T@S 예시 출력 1 S#T!EG*b@a 해결 1-4 문자 뒤집기에서 썻던 방법을 응용하였다. 입력 받은 문자에서 맨 왼쪽을 lt, 맨 오른쪽을 rt로 두겠다. == int lt=0, rt = str.length()-1 그런다음 lt와 rt 가 둘다 알파벳이면 서로 교환해준다. 그리고 lt와 rt를 각각 오른쪽, 왼쪽으로 한칸씩 옮겨주면 된다. 여기서 포인트는 lt랑 rt 중 하나라도 알파벳이 아니면 그냥.. [Java11/알고리즘] 1-4 단어 뒤집기 문제 N개의 단어가 주어지면 각 단어를 뒤집어 출력하는 프로그램을 작성하세요. 입력 첫 줄에 자연수 N(3 [Java11/알고리즘] 1-3 문장 속 단어 문제 한 개의 문장이 주어지면 그 문장 속에서 가장 긴 단어를 출력하는 프로그램을 작성하세요. 문장속의 각 단어는 공백으로 구분됩니다. 입력 첫 줄에 길이가 100을 넘지 않는 한 개의 문장이 주어집니다. 문장은 영어 알파벳으로만 구성되어 있습니다. 출력 첫 줄에 가장 긴 단어를 출력한다. 가장 길이가 긴 단어가 여러개일 경우 문장속에서 가장 앞쪽에 위치한 단어를 답으로 합니다. 예시 입력 1 it is time to study 예시 출력 1 study 해결 방법을 2가지로 나눠서 진행하였다. 1.split() String[] split(String regex) split 함수는 입력받은 정규표현식 또는 특정문자를 기준으로 문자열을 나누어 배열에 저장하여 리턴한다. 입력받은 문자열을 split 함수를 써.. [JAVA11/알고리즘] 1-2 대소문자 변환 문제 대문자와 소문자가 같이 존재하는 문자열을 입력받아 대문자는 소문자로 소문자는 대문자로 변환하여 출력하는 프로그램을 작성하세요. 입력 첫 줄에 문자열이 입력된다. 문자열의 길이는 100을 넘지 않습니다. 문자열은 영어 알파벳으로만 구성되어 있습니다. 출력 첫 줄에 대문자는 소문자로, 소문자는 대문자로 변환된 문자열을 출력합니다. 예시 입력 1 StuDY 예시 출력 1 sTUdy 해결 입력받은 문자의 대소문자를 변환하기 위한 solution 함수를 만들었다. answer라는 문자열 변수를 만들어 놓고, 문자를 하나씩 대소문자 변환하여 answer에 추가하였다. Character.isUpperCase(Char ch) : ch가 대문자이면 TRUE, 아니면 FALSE를 반환하는 함수 Character.is.. [JAVA11/알고리즘] 1-1 문자 찾기 설명 한 개의 문자열을 입력받고, 특정 문자를 입력받아 해당 특정문자가 입력받은 문자열에 몇 개 존재하는지 알아내는 프로그램을 작성하세요. 대소문자를 구분하지 않습니다.문자열의 길이는 100을 넘지 않습니다. 입력 첫 줄에 문자열이 주어지고, 두 번째 줄에 문자가 주어진다. 문자열은 영어 알파벳으로만 구성되어 있습니다. 출력 첫 줄에 해당 문자의 개수를 출력한다. 예시 입력 1 Computercooler c 예시 출력 1 2 해결 위 문제에서 대소문자를 구분하지 않는다 하였으므로 입력받은 문자열과 문자를 모두 toLowerCase를 사용하여 소문자로 변환한 뒤 비교하였다. toLowerCase() : 대문자 -> 소문자toLowerCase(): 소문자 -> 대문자 그다음 변환된 문자열과 문자를 반복문을 .. 이전 1 2 3 4 다음