유효한 팰린드롬 설명 앞에서 읽을 때나 뒤에서 읽을 때나 같은 문자열을 팰린드롬이라고 합니다. 문자열이 입력되면 해당 문자열이 팰린드롬이면 "YES", 아니면 “NO"를 출력하는 프로그램을 작성하세요. 단 회문을 검사할 때 알파벳만 가지고 회문을 검사하며, 대소문자를 구분하지 않습니다. 알파벳 이외의 문자들의 무시합니다. 입력 첫 줄에 길이 100을 넘지 않는 공백이 없는 문자열이 주어집니다. 출력 첫 번째 줄에 팰린드롬인지의 결과를 YES 또는 NO로 출력합니다. 예시 입력 found7, time: study; Yduts; emit, 7Dnuof 예시 출력 YES 풀이 1. String 타입의 answer 변수를 "NO"로 작성한다. 2. 알파벳만 가지고 검사를 하기 때문에 정규식을 이용해 알파벳이 아..
전체 글
배움을 기록합니다.회문 문자열 설명 앞에서 읽을 때나 뒤에서 읽을 때나 같은 문자열을 회문 문자열이라고 합니다. 문자열이 입력되면 해당 문자열이 회문 문자열이면 "YES", 회문 문자열이 아니면 “NO"를 출력하는 프로그램을 작성하세요. 단 회문을 검사할 때 대소문자를 구분하지 않습니다. 입력 첫 줄에 길이 100을 넘지 않는 공백이 없는 문자열이 주어집니다. 출력 첫 번째 줄에 회문 문자열인지의 결과를 YES 또는 NO로 출력합니다. 예시 입력 gooG 예시 출력 YES 풀이 1. answer 변수를 "NO" 로 정의한다. 2. StringBuilder를 이용해 입력받은 문자열을 뒤집고 String으로 만든다. StringBuilder 클래스의 reverse(), toString() 을 이용한다. 3. 입력받은 문자열과..
중복 문자 제거 설명 소문자로 된 한개의 문자열이 입력되면 중복된 문자를 제거하고 출력하는 프로그램을 작성하세요. 중복이 제거된 문자열의 각 문자는 원래 문자열의 순서를 유지합니다. 입력 첫 줄에 문자열이 입력됩니다. 문자열의 길이는 100을 넘지 않는다. 출력 첫 줄에 중복문자가 제거된 문자열을 출력합니다. 예시 입력 ksekkset 예시 출력 kset 풀이 문자열의 길이만큼 반복문을 돌며 다음 로직을 실행한다. 현재 위치의 문자가 발견된 위치가 현재 위치와 같다면 해당 문자를 answer 변수에 누적시킨다. String의 indexOf(Char c)는 문자열에서 c가 처음으로 발견된 위치를 리턴한다. 코드 package solve; import java.util.Scanner; public class..
특정 문자 뒤집기 설명 영어 알파벳과 특수문자로 구성된 문자열이 주어지면 영어 알파벳만 뒤집고, 특수문자는 자기 자리에 그대로 있는 문자열을 만들어 출력하는 프로그램을 작성하세요. 입력 첫 줄에 길이가 100을 넘지 않는 문자열이 주어집니다. 출력 첫 줄에 알파벳만 뒤집힌 문자열을 출력합니다. 예시 입력 a#b!GE*T@S 예시 출력 S#T!EG*b@a 풀이 전 문제에서의 문자를 직접 교환하는 방법을 활용한다. 1. 입력받은 문자열(str)의 왼쪽 끝 인덱스를 가리키는 lt와 오른쪽 끝 인덱스를 기리키는 rt를 선언한다. 2. 입력받은 문자열(str)을 문자 배열로 바꾼다. String 클래스의 toCharArray() 를 이용한다. 3. lt가 rt보다 작을 때 까지 아래 로직을 반복한다. 4-1. l..
문장 속 단어 설명 한 개의 문장이 주어지면 그 문장 속에서 가장 긴 단어를 출력하는 프로그램을 작성하세요. 문장속의 각 단어는 공백으로 구분됩니다. 입력 첫 줄에 길이가 100을 넘지 않는 한 개의 문장이 주어집니다. 문장은 영어 알파벳으로만 구성되어 있습니다. 출력 첫 줄에 가장 긴 단어를 출력한다. 가장 길이가 긴 단어가 여러개일 경우 문장속에서 가장 앞쪽에 위치한 단어를 답으로 합니다. 예시 입력 it is time to study 예시 출력 study 풀이 1. 정답을 담을 String 타입의 변수 answer을 선언한다. 정수의 가장 작은 값을 담기 위해 Integer.MIN_VALUE 를 사용한다. 2. 분리된 단어들을 문자열 배열로 받는다. String 클래스의 split 메소드를 이용한다..
대소문자 변환 설명 대문자와 소문자가 같이 존재하는 문자열을 입력받아 대문자는 소문자로 소문자는 대문자로 변환하여 출력하는 프로그램을 작성하세요. 입력 첫 줄에 문자열이 입력된다. 문자열의 길이는 100을 넘지 않습니다. 문자열은 영어 알파벳으로만 구성되어 있습니다. 출력 첫 줄에 문자열이 입력된다. 문자열의 길이는 100을 넘지 않습니다. 문자열은 영어 알파벳으로만 구성되어 있습니다. 예시 입력 StuDY 예시 출력 sTUdy 풀이 1. 입력받은 문자열을 문자 배열로 바꾼다. String 클래스의 toCharArray() 를 이용한다. 2. 반복문을 이용해 각 문자가 소문자인지 대문자인지에 따라 문자를 변경한다. 소문자, 대문자 여부를 확인하는 데에는 Character 클래스의 static 메소드 is..
문자 찾기 설명 한 개의 문자열을 입력받고, 특정 문자를 입력받아 해당 특정문자가 입력받은 문자열에 몇 개 존재하는지 알아내는 프로그램을 작성하세요. 대소문자를 구분하지 않습니다.문자열의 길이는 100을 넘지 않습니다. 입력 첫 줄에 문자열이 주어지고, 두 번째 줄에 문자가 주어진다. 문자열은 영어 알파벳으로만 구성되어 있습니다. 출력 첫 줄에 해당 문자의 개수를 출력한다. 예시 입력 Computercooler c 예시 출력 2 풀이 대소문자를 구분하지 않으므로, 입력 받은 문자열을 모두 대문자로 바꾸거나 모두 소문자로 바꾸어야 한다. 문자열을 대문자 혹은 소문자로 바꾸는 데에는 String 클래스의 toUpperCase() 혹은 toLowerCase()를 사용한다. 문자를 대문자 혹은 소문자로 바꾸는 ..