분류 전체보기 (81) 썸네일형 리스트형 [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 [Java] StringBuilder 정리 String str1 = "ab"; str1 += "c"; 위 예제코드에서 str1에는 무슨 문자열이 들어 가있을까? 간단하다. str1과 "c"가 합쳐진 "abc"가 들어가 있을거다. 위처럼 간단한 방법을 이용하여서 문자열끼리 더하거나 빼서 새로운 문자열을 생성할 수 있다. 허나, 위 방법은 단점을 지니고 있다. String은 위같은 방법으로 연산을 진행하면 새로운 String 객체가 리턴될것이다. 다시금 말해, 메모리의 재할당이 이루어질 것이다. 이러한 문제는 위 예제처럼 크기가 작은 프로그램에서는 문제가 되지 않는다. 허나, 프로그램이 커질 수록 메모리의 낭비가 심해질 것이다. 위 문제를 해결하기 위해 JAVA에는 StringBuilder 클래스가 있다. StringBuilder 클래스는 새로운 객.. [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.. 이전 1 ··· 7 8 9 10 11 다음