인프런의 "자바(Java) 알고리즘 문제풀이 : 코딩테스트 대비" 강좌를 수강했습니다. C, C++, Python, Js 등 다른 언어의 강의도 있으니 본인에게 맞는 강의를 선택하시면 됩니다. 😁 https://inf.run/pCPH 자바(Java) 알고리즘 문제풀이 : 코딩테스트 대비 - 인프런 | 강의 자바(Java)로 코딩테스트를 준비하시는 분을 위한 강좌입니다. 코딩테스트에서 가장 많이 출제되는 Top 10 Topic을 다루고 있습니다. 주제와 연동하여 기초문제부터 중급문제까지 단계적으로 구성 www.inflearn.com Q1-10. 가장 짧은 문자거리 한 개의 문자열str과 한 개의 문자c를 입력받는다. 문자열str을 이루고 있는 각 문자가 문자 c와 떨어진 최소 거리를 구한다. 입력 출력 t..
인프런의 "자바(Java) 알고리즘 문제풀이 : 코딩테스트 대비" 강좌를 수강했습니다. Q1-09. 숫자만 추출 숫자와 문자가 섞인 문자열 입력 시 숫자만 추출해 자연수로 출력한다. g0en2T0s8eSoft 이 입력되면 0,2,0,8을 추출하고 208이 출력된다. ✏️ 내가 쓴 답 이 앞전에 푼 문제에서 쓴 replaceAll() 을 이번 문제에서도 사용했다. 이전 문제는 알파벳을 제외한 문자를 지우는 반면, 이번 문제는 알파벳을 지우고 숫자만 남기고 싶었기 때문에 아래와 같이 작성했다. 예를 들어 추출된 문자열이 "0208" 이라 했을 때, 문자열을 숫자로 변경하기 위해서 Integer.parseInt()를 사용한다. 자연수로 변경되기 때문에 맨 앞의 0은 자동으로 없어진다. import java.u..
인프런의 "자바(Java) 알고리즘 문제풀이 : 코딩테스트 대비" 강좌를 수강했습니다. Q1-08. 유효한 팰린드롬 앞에서 읽을 때나 뒤에서 읽을 때나 같은 문자열을 '팰린드롬' 이라고 한다. ( 앞전 문제 회문 문자열과 같음) 입력된 문자열이 팰린드롬이면 "YES", 아니면 "NO" 를 출력하자. 단, 대소문자 구분 없으며 팰린드롬 체크 시 알파벳으로만 체크한다. (알파벳 외의 문자 무시) 👨🏻🏫 풀이 코드 String 클래스의 replaceAll() 메소드를 사용한다. Java 11 공식문서에서 replaceAll 에 대한 설명을 확인할 수 있다. replaceAll(String rex, String replacement) : 문자열 중 첫번째 파라미터 문자열을 전부 replacement 문자열로 ..
인프런의 "자바(Java) 알고리즘 문제풀이 : 코딩테스트 대비" 강좌를 수강했습니다. Q1-07. 회문 문자열 앞으로 읽으나 뒤로 읽으나 똑같은 단어를 '회문 문자열' 이라고 한다. (내 이름은 이효리 거꾸로 해도 이효리...) 입력된 문자열이 회문 문자열이면 "YES"를, 아니면 "NO" 라고 출력하자 단, 입력된 문자열은 공백이 없고 대소문자를 구분하지 않는다. ✏️ 내가 쓴 답 예를 들어 reveR 라는 회문 문자열이 입력 됐을 때, v를 중심으로 양 좌우에 있는 문자가 같아야 하기 때문에 맨앞과 맨뒤의 인덱스 값부터 시작해 인덱스를 증감시키면서 문자를 비교하는 방법으로 해결했다. abccba 와 같은 중심문자가 하나로 특정되지 않는 짝수개의 문자가 입력되어도 상관 없다. 대소문자 구분 상관없다는..
인프런의 "자바(Java) 알고리즘 문제풀이 : 코딩테스트 대비" 강좌를 수강했습니다. Q1-06. 중복문자제거 소문자로 이루어진 문자열 하나를 입력받고, 그 중 중복된 알파벳을 제거한 문자열을 출력하라. 문자의 순서는 원래 문자열의 순서를 따른다. ✏️ 내가 쓴 답 문자열 str가 알파벳 x 를 포함하고 있지 않으면! answer 문자열에 알파벳 하나씩 저장해준다. 문자열 중에 특정 문자열이 포함되어있는지 확인하는 String 클래스의 contains() 메소드를 사용했다. boolean contains(CharSequence s) contains에 들어갈 파라미터는 문자열이 들어갈 수 있으므로, char 문자인 x를 String.valueOf() 로 문자열 변경해주었다. ... public Strin..
인프런의 "자바(Java) 알고리즘 문제풀이 : 코딩테스트 대비" 강좌를 수강했습니다. Q1-05. 특정 문자 뒤집기 영어 알파벳과 특수문자가 섞인 문자열이 주어진다. 영어 알파벳만 뒤집고, 특수문자는 그 자리에 그대로 있는 문자열을 만들어 출력하기 예시입력과 출력은 아래와 같다. //입력 a#b!GE*T@S //출력 S#T!EG*b@a ✏️ 내가 쓴 답 내가 쓴 첫 번째 답 - 오답 😅 처음 생각한 과정은 1. 문자와 기호가 섞인 문자열을 입력받는다. 2. solution(str)로 넘겨준다. 3. str 문자열을 toCharArray() 로 문자 배열화 4. 문자열 양끝 lt, rt 자리를 할당시킨 후, while() 문 실행 5. if (앞뒤 대칭 자리에 위치하는 문자 2개 각각 소문자, 대문자인가..
인프런의 "자바(Java) 알고리즘 문제풀이 : 코딩테스트 대비" 강좌를 수강했습니다. Q1-03. 문장 속 단어 영어 알파벳으로 이루어진 한 개의 문장이 주어지면, 그 문장 중 가장 긴 단어를 출력하는 문제. 문장은 공백으로 구분되어 있다. 길이가 가장 긴 단어가 여러 개 있다면, 앞에 위치한 단어를 출력한다. ✏️ 내가 쓴 답 가장 긴 단어의 길이를 저장할 max 변수를 0으로 초기화한다. 문자열 str을 split(" ") 메소드를 이용해 공백(" ")을 기준으로 잘라준다. 문자열 배열(String[])이 return 되므로 반복문 사용 가능 한 단어 word의 길이를 나타내는 len과 max를 비교해, 더 긴 것의 크기는 max 값에 대입하고 answer 변수에 가장 긴 단어를 저장한다. 가장 큰..
인프런의 "자바(Java) 알고리즘 문제풀이 : 코딩테스트 대비" 강좌를 수강했습니다. Q1-02. 대소문자 변환 첫 줄에 문자열이 입력 된다. 대문자와 소문자가 같이 존재하는 영어 알파벳으로 된 문자열을 입력받아, 소문자는 대문자로, 대문자는 소문자로 출력하는 프로그램 즉 StuDy 단어가 입력됐다면, sTUdY 라고 출력되어야 함 ✏️ 내가 쓴 답 1번 문제에서 배웠던 toCharArray(), Character 객체에 접근하는 것을 활용했다. Scanner로 입력받은 문자열 str을 toCharArray()로 char[] 배열로 쪼개고, array[]의 0번째 값부터 대소문자 여부를 체크하기로 했다. Character.isUpperCase(), Character.isLowerCase() 를 이용해 ..
인프런의 "자바(Java) 알고리즘 문제풀이 : 코딩테스트 대비" 강좌를 수강했습니다. 들어가기에 앞서.. 테스트 환경 - 코드는 백준 & 프로그래머스의 테스트 형태를 지닌다. main 함수 내부는 백준, solution() 메소드 내부에 실제 기능을 작성하는 프로그래머스의 형태를 따라 테스트한다. public class Main { private int solution(type args1, type args2) { int answer = 0; // Input your Code. return answer; } public static void main(String[] args) { // Scanner sc = ... } } Q1-01. 문자 찾기 문자열 하나와 알파벳 하나를 입력 받아, 해당 문자열 안에..
안녕하세요. 취업을 했지만 실무를 하면서, 효율성과 가독성 떨어지는 코드를 보고 스스로 기초 개념이 부족하다고 느껴져 알고리즘 공부를 해야겠다 결심했습니다. 논리적인 생각이 잘 안되다 보니 소스코드도 길어지고 시간이 오래 걸리더라구요. 냄비 끓듯 금방 식을 열정 말고, 살살 스며들어 오래 공부할 수 있도록 노력해보려고 합니다. 참고한 도서는 Do it! 자료구조와 함께 배우는 알고리즘 입문(자바) 입니다. http://www.yes24.com/Product/Goods/60547893 Do it! 자료구조와 함께 배우는 알고리즘 입문 자바 편 - YES24 IT 기업, 모든 시험에서 기초가 되는 자료구조와 알고리즘의 개념을 한 권에 모두 담았다!국내 IT 기업의 면접, 코딩 시험에서 중요하게 생각하는 역량..