본문 바로가기
728x90
반응형

알고리즘15

[JAVA] 암호 풀기(replace, parseInt) [설명] - 알파벳 대문자로 구성된 문자열 - 알파벳 한 문자마다 # 또는 *이 일곱 개로 구성 - #*****#를 7자리의 이진수로 변환(#은 이진수 1, *은 이진수의 0으로 변환) => 1000001 - 바뀐 이진수를 10진수로 변환 => 65 - 아스키 코드로 알파벳 변환 => A [입력 예시] 4 #****###**#####**#####**##** (문자의 개수*7만큼 특수문자가 입력됨) [출력 예시] COOL 풀이 import java.util.*; class Main { public String solution(int n, String s){ String answer=""; for(int i=0; i 2024. 1. 15.
[JAVA] 문자열 압축하기 [입력] 첫 줄에 문자열이 주어진다. (문자열의 길이는 100이하) [출력] 첫 줄에 압축된 문자열을 출력 [입력 예시] AABCCCCCCCD [출력 예시] A2BC7D 풀이 import java.util.*; class Main { public String solution(String s){ String answer=""; s=s+" "; int cnt=1; for(int i=0; i1){ answer+=String.valueOf(cnt); } cnt=1; } } return answer; } public static void main(String[] args){ Main T = new Main(); Scanner sc = new Scanner(System.in); String str=sc.next().. 2024. 1. 15.
[JAVA] 가장 짧은 문자거리 구하기 [입력] 첫 번째 줄에 문자열 s와 문자 t가 주어진다. (문자열과 문자는 소문자) 문자열의 길이는 100이하 [출력] 첫 번째 줄에 각 문자열 s의 각 문자가 문자 t와 떨어진 거리를 순서대로 출력 [입력 예시] teachermode e [출력 예시] 1 0 1 2 1 0 1 2 2 1 0 풀이 import java.util.*; class Main { public int[] solution(String s, char t){ int[] answer=new int[s.length()]; int p=1000; for(int i=0; i=0; i--){ if(s.charAt(i)==t) p=0; else{ p++; answer[i]=Math.min(answer[i], p); } } return answer;.. 2024. 1. 15.
[JAVA] 숫자만 추출하기 [입력] 첫 줄에 숫자가 섞인 문자열이 주어짐(단, 문자열의 길이는 100을 넘지 않음) [출력] 첫 줄에 자연수를 출력 [입력 예시] a0bc1D3e5fJhij [출력 예시] 135 풀이 import java.util.*; class Main { public int solution(String s){ //int answer=0; String answer=""; for(char x : s.toCharArray()){ //if(x>=48 && x 2024. 1. 12.
[JAVA] 팰린드롬 - 나열된 문자열들 중 알파벳만 가지고 회문 검사하기(앞에서 읽어도 뒤에서 읽어도 같은 문자열2, replaceAll) [입력] 첫 줄에 길이 100을 넘지 않는 공백이 없는 문자열이 주어짐 [출력] 첫 번째 줄에 팰린드롬인지의 결과를 YES 또는 NO로 출력 [입력 예시] found7, time: study; Yduts; emit, 7Dnuof [출력 예시] YES 풀이 import java.util.*; class Main { public String solution(String s){ String answer="NO"; s=s.toUpperCase().replaceAll("[^A-Z]", ""); String tmp=new StringBuilder(s).reverse().toString(); if(s.equals(tmp)) answer="YES"; return answer; } public static void ma.. 2024. 1. 11.
[JAVA] 회문 문자열 찾기 - 앞에서 읽어도 뒤에서 읽어도 같은 문자열 [문제] 문자열이 입력되면 해당 문자열이 회문 문자열이면 "YES", 회문 문자열이 아니면 “NO"를 출력하는 프로그램을 작성(단, 회문을 검사할 때 대소문자를 구분하지 않음) [입력] 첫 줄에 길이 100을 넘지 않는 공백이 없는 문자열이 주어짐 [출력] 첫 번째 줄에 회문 문자열인지의 결과를 YES 또는 NO로 출력 [입력 예시] gooG [출력 예시] YES 첫번째 풀이 import java.util.*; public class Main { public String solution(String str){ String answer="YES"; str=str.toUpperCase(); int len = str.length(); for(int i=0; i 2024. 1. 11.
[JAVA] 중복문자 제거하기 [문제] - 소문자로 된 한개의 문자열이 입력되면 중복된 문자를 제거하고 출력 - 중복이 제거된 문자열의 각 문자는 원래 문자열의 순서를 유지 [입력] 첫 줄에 문자열이 입력 [출력] 첫 줄에 중복문자가 제거된 문자열을 출력 [입력 예시] abcaabcd [출력 예시] abcd 풀이 import java.util.*; public class Main { public String solution(String str){ String answer=""; for(int i=0; i 2024. 1. 10.
[JAVA] 특정 문자 뒤집기(toCharArray) [문제] 영어 알파벳과 특수문자로 구성된 문자열이 주어지면 영어 알파벳만 뒤집고, 특수문자는 자기 자리에 그대로 있는 문자열을 만들어 출력하는 프로그램을 작성 [입력] 첫 줄에는 길이가 100을 넘지 않는 문자열 [출력] 첫 줄에 알파벳만 뒤집힌 문자열을 출력 [입력 예시] a#b!GE*T@S [출력 예시] S#T!EG*b@a 풀이 import java.util.*; public class Main { public String solution(String str){ String answer; char[] s = str.toCharArray(); int lt = 0, rt = str.length()-1; while(lt 2024. 1. 10.
[JAVA] 단어 거꾸로 출력하기(StringBuilder, 값 교환) [문제] N개의 단어가 주어지면 각 단어를 뒤집어 출력하는 프로그램을 작성 [입력] 첫 줄에 자연수 N(3 2023. 12. 20.
[JAVA] 문장 속 가장 긴 단어 찾기(indexOf, substring) [문제] 한 개의 문장이 주어지면 그 문장 속에서 가장 긴 단어를 출력하는 프로그램을 작성 (문장속의 각 단어는 공백으로 구분) [입력] 첫 줄에 길이가 100을 넘지 않는 한 개의 문장이 주어지며, 문장은 영어 알파벳으로만 구성 [출력] 첫 줄에 가장 긴 단어를 출력. 가장 길이가 긴 단어가 여러개일 경우 문장속에서 가장 앞쪽에 위치한 단어를 답으로 [입력 예시] my name is haemo [출력 예시] haemo 첫번째 풀이 import java.util.*; public class Main { public String solution(String str){ String answer = ""; int min = Integer.MIN_VALUE; String[] s = str.split(" "); .. 2023. 12. 19.
728x90
반응형