Algorithm
[자바 알고리즘 문제풀이] String 11. 문자열 압축
String(스트링) 11. 문자열 압축 * 사용 언어 : JAVA * Inflearn의 자바(Java)알고리즘 문제풀이 : 코딩테스트 대비 강의내용 정리 1. 문제 한 문자열을 입력받아 같은 문자가 연속으로 반복되는 경우 반복되는 문자 바로 오른쪽에 반복 횟수를 표기하여 문자열 출력 단, 모든 문자열은 알파벳 대문자로 주어지고 반복횟수가 1인 경우는 생략 // 입력 KKHSSSSSSSE // 출력 K2HS7E 2. 풀이 입력받은 문자열을 첫번째 문자부터 바로 옆의 문자를 반복하여 비교한다. 주어진 문자열의 길이만큼 비교하면 마지막 문자를 비교할 경우 다음 문자가 없어 index out of bound 오류가 발생한다. 입력받은 문자열에 마지막에 공백문자를 추가하고 입력받은 문자열의 길이에서 1을 뺀 횟..
[자바 알고리즘 문제풀이] Array 02. 보이는 학생
Array(배열) 02. 보이는 학생 * 사용 언어 : JAVA * Inflearn의 자바(Java)알고리즘 문제풀이 : 코딩테스트 대비 강의내용 정리 1. 문제 일렬로 서 있는 학생의 키가 앞에서부터 순서대로 주어질 때, 맨 앞에 서 있는 선생님이 볼 수 있는 최대학생 수 출력 첫 줄에 정수로 학생의 수가 입력되고, 다음 줄에 학생의 키가 입력 // 입력 8 130 135 148 140 145 150 150 153 // 출력 5 2. 풀이 맨 처음 학생은 무조건 보이니 answer 변수에 정수 1을 초기화하고 taller 변수에 주어진 배열의 첫번째 인덱스 값을 저장하였다. 이 후, 주어진 학생들의 키를 for문으로 돌면서 첫번째 학생의 키부터 큰 키를 가진 학생과 비교한다. 큰 키를 가진 학생이 자기..
[자바 알고리즘 문제풀이] Array 01. 큰 수 출력하기
Array(배열) 01. 큰 수 출력하기 * 사용 언어 : JAVA * Inflearn의 자바(Java)알고리즘 문제풀이 : 코딩테스트 대비 강의내용 정리 1. 문제 N개의 정수를 입력받아, 자신의 바로 앞 수보다 큰 수만 출력 단, 첫 번째 숫자는 무조건 출력 // 입력 6 7 3 9 5 6 12 // 출력 7 9 6 12 2. 풀이 큰 수를 담을 answer 변수는 가변적인 배열인 ArrayList 타입으로 선언한다. 배열의 첫번째 수는 무조건 출력되어야 하기 때문에 answer에 주어진 array의 첫번째 원소가 담진 '0'번째 주소를 담는다. 주어진 N개의 수를 담은 배열을 for문을사용하여 앞 뒤 수를 비교한다. 첫번째 원소는 담았기 때문에 두번째 주소부터 앞의 값과 비교하기 위해 시작을 1로 ..
[자바 알고리즘 문제풀이] String 09. 숫자만 추출
String(스트링) 09. 숫자만 추출 * 사용 언어 : JAVA * Inflearn의 자바(Java)알고리즘 문제풀이 : 코딩테스트 대비 강의내용 정리 1. 문제 문자와 숫자가 섞여있는 문자열 중 숫자만 추출하여 주어진 순서대로 자연수를 출력 “tge0a1h205er”가 주어지면 숫자만 추출된이것의 자연수는 1205 // 입력 g0en2T0s8eSoft // 출력 208 2. 풀이 (1) 아스키코드 answer은 int type으로 값을 누적시킨다. 아스키 코드 문자 '0'이 48이고, 문자 '9'가 57이다. 입력받은 문자열을 char 배열로 변환 후 for문을 돌려 char가 48 ~ 57 사이의 값일 경우에만 값이 누적되면서 한 자리씩 이동하기 때문에 answer * 10을 하고 char - 4..
[자바 알고리즘 문제풀이] String 02. 대소문자 변환
String(스트링) 02. 대소문자 변환 * 사용 언어 : JAVA * Inflearn의 자바(Java)알고리즘 문제풀이 : 코딩테스트 대비 강의내용 정리 1. 문제 대문자와 소문자가 같이 존재하는 문자열을 입력받아 대문자는 소문자로 소문자는 대문자로 변환하여 출력하기. 문자는 영어로 제공됨 // 입력 STudY // 출력 stUDy 2. 풀이 먼저, 문자열을 입력받기 위해 Scanner를 호출한다. (1) 아스키 코드 아스키 코드 테이블 상에서 알파벳 대문자는 65 ~ 90, 알파벳 소문자는 97~ 122이다. A와 a의 차는 32로 소문자에서 32를 빼주면 대문자가 된다. foreach문을 사용하여 입력받은 문자열의 문자 하나하나 비교하여 소문자를 대문자로 바꾸기 위해 문자가 97보다 크거나 같고 ..