반응형

코딩테스트 7

[인프런 자바 알고리즘 문제풀이] 7. 희문 문자열

설명 앞에서 읽을 때나 뒤에서 읽을 때나 같은 문자열을 희문 문자열이라고 합니다. 문자열이 입력되면 해당 문자열이 회문 문자열이면 "YES", 회문 문자열이 아니면 "NO"를 출력하는 프로그램을 작성하세요. 단 회문을 검사할 때 대소문자를 구분하지 않습니다. 입력 첫 줄에 길이 100을 넘지 않는 공백이 없는 문자열이 주어집니다. 출력 첫 번째 줄에 회문 문자열인지의 결과를 YES 또는 NO로 출력합니다. 입력 예시 gooG 출력 예시 YES My Answer 1 - 오답 짝수개의 문자열만 허용되는줄 알았는데 sskss 처럼 홀수도 가능한 것이였다.... import java.util.Locale; import java.util.Scanner; public class Main { public String..

코딩테스트 2022.09.24

[인프런 자바 알고리즘 문제풀이] 6. 중복 문자 제거

설명 소문자로 된 한개의 문자열이 입력되면 중복된 문자를 제거하고 출력하는 프로그램을 작성하세요. 중복이 제거된 문자열의 각 문자는 원래 문자열의 순서를 유지합니다. 입력 첫 줄에 문자열이 입력됩니다. 문자열의 길이는 100을 넘지 않는다. 출력 첫 줄에 중복문자가 제거된 문자열을 출력합니다. 입력 예시 ksekkset 출력 예시 kset My Answer import java.util.Scanner; public class Main { public String solution(String str) { String lowerCaseStr = str.toLowerCase(); StringBuilder answer = new StringBuilder(); char [] charArray = lowerCase..

코딩테스트 2022.09.21

[인프런 자바 알고리즘 문제풀이] 5. 특정 문자 뒤집기(toCharArray())

설명 영어 알파벳과 특수문자로 구성된 문자열이 주어지면 영어 알파벳만 뒤집고, 특수문자는 자기 자리에 그대로 있는 문자열을 만들어 출력하는 프로그램을 작성하세요. 입력 첫 줄에 길이가 100을 넘지 않는 문자열이 주어집니다. 출력 첫 줄에 알파벳만 뒤집힌 문자열을 출력합니다. 입력 예시 a#b!GE*T@S 출력 예시 S#T!EG*b@a My Answer - 정규식을 이용 import java.util.Scanner; public class Main { public String solution(String str) { String pureStr = str.replaceAll("[^a-zA-z]",""); //특수문자 제거 StringBuilder pureStrReverse = new StringBuilde..

코딩테스트 2022.09.21

[인프런 자바 알고리즘 문제풀이] 3. 문장 속 단어

한 개의 문장이 주어지면 그 문장 속에서 가장 긴 단어를 출력하는 프로그램을 작성하세요. 문장속의 각 단어는 공백으로 구분됩니다. 1차 답변 - 성공 import java.util.Scanner; public class Main { public String solution(String str) { String answer = ""; String[] wordArray = str.split(" "); for(String x : wordArray) { if(answer == "") { answer = x; } else if(answer.length() < x.length()) { answer = x; } } return answer; } public static void main(String[] args) {..

코딩테스트 2022.09.20

[인프런 자바 알고리즘 문제풀이] 2. 대소문자 변환

대문자와 소문자가 같이 존재하는 문자열을 입력받아 대문자는 소문자로 소문자는 대문자로 변환하여 출력하는 프로그램을 작성하세요. 저는 1차로 이렇게 작성하였고 통과했습니다. String이 지속적으로 변경된다고 생각하여 StringBuffer를 사용하였는데 isLowerCase라는 편한 함수도 있다는것.... import java.util.Scanner; public class Main { public StringBuffer solution(String str) { StringBuffer bf = new StringBuffer(); for(char x : str.toCharArray()) { if( 65

코딩테스트 2022.09.20

[인프런 자바 알고리즘 문제풀이] 1. 문자 찾기

한 개의 문자열, 한 개의 문자를 입력 받아 문자열에 몇 개 존재하는지 알아내는 프로그램 대소문자 구별X, 문자열의 길이는 100을 넘지 않는다. 이런식으로 작성하였는데 출력 양식을 지키지 않아서 오답 나왔다. 그래서 밑에처럼 다시 수정했다. import java.util.Locale; import java.util.Scanner; public class Main { public int solution(String str, char ch) { int answer = 0; str = str.toUpperCase(Locale.ROOT); ch = Character.toUpperCase(ch); for(int i = 0; i < str.length(); i++) { if(str.charAt(i) == ch) ..

코딩테스트 2022.09.19
반응형