728x90
반응형
[입력]
첫 번째 줄에 문자열 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<s.length(); i++){
if(s.charAt(i)==t){
p=0;
answer[i]=p;
}
else{
p++;
answer[i]=p;
}
}
p=1000;
for(int i=s.length()-1; i>=0; i--){
if(s.charAt(i)==t) p=0;
else{
p++;
answer[i]=Math.min(answer[i], p);
}
}
return answer;
}
public static void main(String[] args){
Main T = new Main();
Scanner sc = new Scanner(System.in);
String str=sc.next();
char c=sc.next().charAt(0);
for(int x : T.solution(str, c)){
System.out.print(x+" ");
}
}
}
728x90
반응형
'IT 공부 > 알고리즘' 카테고리의 다른 글
[JAVA] 암호 풀기(replace, parseInt) (4) | 2024.01.15 |
---|---|
[JAVA] 문자열 압축하기 (0) | 2024.01.15 |
[JAVA] 숫자만 추출하기 (6) | 2024.01.12 |
[JAVA] 팰린드롬 - 나열된 문자열들 중 알파벳만 가지고 회문 검사하기(앞에서 읽어도 뒤에서 읽어도 같은 문자열2, replaceAll) (0) | 2024.01.11 |
[JAVA] 회문 문자열 찾기 - 앞에서 읽어도 뒤에서 읽어도 같은 문자열 (2) | 2024.01.11 |
댓글