반응형

코딩테스트 8

[책 리뷰] 윤성우의 열혈 자료구조(C언어를 이용한 자료구조 학습서)

https://www.yes24.com/product/goods/6214396 윤성우의 열혈 자료구조 - 예스24자료구조는 어렵다고 알려져 있다. 하지만 문제는 어렵다는데 있는 것이 아니다. 어려워도 끝까지 공부할 수 있다면 문제가 되지 않는다. 문제는 끝까지 공부하지 못하는데 있다. 설명이 이치에www.yes24.com내돈내산 인증책을 읽게된 계기자료구조를 심도있게 공부하고 싶어서 찾다가 "윤성우의 열혈 자료구조" 책을 추천받아서 읽어봤습니다.추천 대상1. 자료구조 초심자2. 코딩 테스트를 준비중인데 알고리즘을 더욱 효율성있고 자료구조 별로 고도화하고싶다! 하시는 분에게 추천드립니다.3. C언어의 포인터 개념을 아는 사람(몰라도 되긴 하지만 이해가 살~짝 어려울수도?)총평책 집필에 많은 노력을 기울였다..

2025.03.22

[인프런 자바 알고리즘 문제풀이] 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
반응형