본문 바로가기

algorithm solving12

문자열 압축 문자열 압축 설명 알파벳 대문자로 이루어진 문자열을 입력받아 같은 문자가 연속으로 반복되는 경우 반복되는 문자 바로 오른쪽에 반복 횟수를 표기하는 방법으로 문자열을 압축하는 프로그램을 작성하시오. 단 반복횟수가 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.
부족한 금액 계산하기 문제 설명 새로 생긴 놀이기구는 인기가 매우 많아 줄이 끊이질 않습니다. 이 놀이기구의 원래 이용료는 price원 인데, 놀이기구를 N 번 째 이용한다면 원래 이용료의 N배를 받기로 하였습니다. 즉, 처음 이용료가 100이었다면 2번째에는 200, 3번째에는 300으로 요금이 인상됩니다. 놀이기구를 count번 타게 되면 현재 자신이 가지고 있는 금액에서 얼마가 모자라는지를 return 하도록 solution 함수를 완성하세요. 단, 금액이 부족하지 않으면 0을 return 하세요. 제한사항 놀이기구의 이용료 price : 1 ≤ price ≤ 2,500, price는 자연수 처음 가지고 있던 금액 money : 1 ≤ money ≤ 1,000,000,000, money는 자연수 놀이기구의 이용 횟수 c.. 2022. 7. 23.
나머지가 1이되는 수 찾기 제한사항 3 ≤ n ≤ 1,000,000 입출력 예 n result 10 3 12 11 입출력 예 설명 입출력 예 #1 10을 3으로 나눈 나머지가 1이고, 3보다 작은 자연수 중에서 문제의 조건을 만족하는 수가 없으므로, 3을 return 해야 합니다. 입출력 예 #2 12를 11로 나눈 나머지가 1이고, 11보다 작은 자연수 중에서 문제의 조건을 만족하는 수가 없으므로, 11을 return 해야 합니다. #include int solution(int n) { int answer = 2; // 3 2022. 7. 23.