algorithm solving/general10 문자열 압축 문자열 압축 설명 알파벳 대문자로 이루어진 문자열을 입력받아 같은 문자가 연속으로 반복되는 경우 반복되는 문자 바로 오른쪽에 반복 횟수를 표기하는 방법으로 문자열을 압축하는 프로그램을 작성하시오. 단 반복횟수가 1인 경우 생략합니다. 입력 첫 줄에 문자열이 주어진다. 문자열의 길이는 100을 넘지 않는다. 출력 첫 줄에 압축된 문자열을 출력한다. 예시 입력 1 KKHSSSSSSSE 예시 출력 1 K2HS7E package ez.prac; public class S11 { public String solution(String s){ String answer = ""; s = s + " "; int cnt = 1; for (int i = 0; i < s.length() - 1; ++i) { //문자열의 i번.. 2023. 3. 1. 가장 짧은 문자거리 설명 한 개의 문자열 s와 문자 t가 주어지면 문자열 s의 각 문자가 문자 t와 떨어진 최소거리를 출력하는 프로그램을 작성하세요. 입력 첫 번째 줄에 문자열 s와 문자 t가 주어진다. 문자열과 문자는 소문자로만 주어집니다. 문자열의 길이는 100을 넘지 않는다. 출력 첫 번째 줄에 각 문자열 s의 각 문자가 문자 t와 떨어진 거리를 순서대로 출력한다. 예시 입력 1 teachermode e teachermode e 예시 출력 1 1 0 1 2 1 0 1 2 2 1 0 1 0 1 2 1 0 1 2 2 1 0 Prac9 public class S9 { public int[] solution(String s, char t) { int[] answer = new int[s.length()]; int p = 10.. 2023. 2. 17. 숫자만 추출 설명 문자와 숫자가 섞여있는 문자열이 주어지면 그 중 숫자만 추출하여 그 순서대로 자연수를 만듭니다. 만약 “tge0a1h205er”에서 숫자만 추출하면 0, 1, 2, 0, 5이고 이것을 자연수를 만들면 1205이 됩니다. 추출하여 만들어지는 자연수는 100,000,000을 넘지 않습니다. 입력 첫 줄에 숫자가 섞인 문자열이 주어집니다. 문자열의 길이는 100을 넘지 않습니다. 출력 첫 줄에 자연수를 출력합니다. 예시 입력 1 g0en2T0s8eSoft 예시 출력 1 208 Prac8 public class S8 { public int solution(String str) { // 1. 문자와 숫자가 섞여있는 문자열이 주어지면 그 중 숫자만 추출 // 2. 그 순서대로 자연수를 만든다. // 3. 추출.. 2023. 2. 17. 회문 문자열 회문 문자열 설명 앞에서 읽을 때나 뒤에서 읽을 때나 같은 문자열을 회문 문자열이라고 합니다. 문자열이 입력되면 해당 문자열이 회문 문자열이면 "YES", 회문 문자열이 아니면 “NO"를 출력하는 프로그램을 작성하세요. 단 회문을 검사할 때 대소문자를 구분하지 않습니다. 입력 첫 줄에 길이 100을 넘지 않는 공백이 없는 문자열이 주어집니다. 출력 첫 번째 줄에 회문 문자열인지의 결과를 YES 또는 NO로 출력합니다. 예시 입력 1 gooG 예시 출력 1 YES Prac8 public class Prac8 { public String solution(String str) { String answer = "YES"; if(str.length() % 2 != 0){ return "NO"; } //대문자로 변.. 2023. 2. 16. 중복 문자 제거 중복 문자 제거 설명 소문자로 된 한개의 문자열이 입력되면 중복된 문자를 제거하고 출력하는 프로그램을 작성하세요. 중복이 제거된 문자열의 각 문자는 원래 문자열의 순서를 유지합니다. 입력 첫 줄에 문자열이 입력됩니다. 문자열의 길이는 100을 넘지 않는다. 출력 첫 줄에 중복문자가 제거된 문자열을 출력합니다. 예시 입력 1 gadffffa 예시 출력 1 gadf Prac7 public class Prac7 { public String solution(String str) { String answer = ""; for (int i = 0; i < str.length(); ++i) { if (str.indexOf(str.charAt(i)) == i) { answer += str.charAt(i); } } r.. 2023. 2. 16. 특정 문자 뒤집기 특정 문자 뒤집기 설명 영어 알파벳과 특수문자로 구성된 문자열이 주어지면 영어 알파벳만 뒤집고, 특수문자는 자기 자리에 그대로 있는 문자열을 만들어 출력하는 프로그램을 작성하세요. 입력 첫 줄에 길이가 100을 넘지 않는 문자열이 주어집니다. 출력 첫 줄에 알파벳만 뒤집힌 문자열을 출력합니다. 예시 입력 1 a#vbad#da 예시 출력 1 a#ddab#va Prac6 클래스 public class Prac6 { public String solution(String str) { String answer = ""; char[] x = str.toCharArray(); int lt = 0, rt = x.length-1; while (lt < rt) { if (!Character.isAlphabetic(x[lt.. 2023. 2. 16. 뒤집은 소수 설명 N개의 자연수가 입력되면 각 자연수를 뒤집은 후 그 뒤집은 수가 소수이면 그 소수를 출력하는 프로그램을 작성하세요. 예를 들어 32를 뒤집으면 23이고, 23은 소수이다. 그러면 23을 출력한다. 단 910를 뒤집으면 19로 숫자화 해야 한다. 첫 자리부터의 연속된 0은 무시한다. 입력 첫 줄에 자연수의 개수 N(3 2022. 9. 28. 소수(에라토스테네스 체) 소수는 1보다 큰 정수 1과 자기 자신으로만 나누어지는 수로 영어로는 Prime Number 이다. 여기서 말하는 나누기란 자연수로 나누었을 때 나머지가 0인 경우를 의미한다. ex) '1'은 '1보다 큰 정수'가 아니므로 소수가 아니다. '2'는 '1보다 큰 정수'이고 '1과 2 이외의 자연수로 나눌 수 없으므로 소수이다. '3'은 '1보다 큰 정수'이고 '1과 3 이외의 자연수로 나눌 수 없으므로 소수이다. '4'는 '1보다 큰 정수'이지만 '1과 4 이외에도 2로 나누는 것이 가능하므로 소수가 아니다. '5'는 '1보다 큰 정수'이고 1과 5 이외의 자연수로 나눌 수 없으므로 소수이다. 설명 자연수 N이 입력되면 1부터 N까지의 소수의 개수를 출력하는 프로그램을 작성하세요. 만약 20이 입력되면 1.. 2022. 9. 28. 2. 단어 뒤집기 2. 단어 뒤집기 설명 N개의 단어가 주어지면 각 단어를 뒤집어 출력하는 프로그램을 작성하세요. 입력 첫 줄에 자연수 N(3 2022. 9. 27. 1.문자 찾기 설명 한 개의 문자열을 입력받고, 특정 문자를 입력받아 해당 특정문자가 입력받은 문자열에 몇 개 존재하는지 알아내는 프로그램을 작성하세요. 대소문자를 구분하지 않습니다.문자열의 길이는 100을 넘지 않습니다. 입력 첫 줄에 문자열이 주어지고, 두 번째 줄에 문자가 주어진다. 문자열은 영어 알파벳으로만 구성되어 있습니다. 출력 첫 줄에 해당 문자의 개수를 출력한다. 예시 입력 1 Computercooler c 예시 출력 1 2 1. 첫번째 방법 import java.util.Scanner; public class Main { public int solution(String str, char t) { int result = 0 ; //입력받은 문자열, 문자 대문자로 변환 str = str.toUpperCas.. 2022. 9. 26. 이전 1 다음