728x90
반응형
10. 가장 짧은 문자거리
* 설명
한 개의 문자열 s와 문자 t가 주어지면 문자열 s의 각 문자가 문자 t와 떨어진 최소거리를 출력하는 프로그램을 작성하세요.
* 입력
첫 번째 줄에 문자열 s와 문자 t가 주어진다. 문자열과 문자는 소문자로만 주어집니다.
문자열의 길이는 100을 넘지 않는다.
* 출력
첫 번째 줄에 각 문자열 s의 각 문자가 문자 t와 떨어진 거리를 순서대로 출력한다.
* 예시 입력 1
teachermode e
* 예시 출력 1
1 0 1 2 1 0 1 2 2 1 0
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner in = new Scanner(System.in);
String input1 = in.next();
String input2 = in.next();
int tmp = 1000;
int[] output = new int[input1.length()];
for(int i = 0; i<input1.length(); i++) {
if(input1.charAt(i) == input2.charAt(0)) {
tmp = 0;
output[i] = tmp;
}else {
tmp++;
output[i] = tmp;
}
}
////한쪽씩 돌아가면서 확인
tmp = 1000;
for(int i = input1.length()-1; i>-1; i--) {
if(input1.charAt(i) == input2.charAt(0)) {
tmp = 0;
output[i] = tmp;
}else {
if(tmp < output[i]) {
tmp++;
output[i] = tmp;
}
}
}
for(int i = 0; i<input1.length(); i++) {
System.out.print(output[i] + " ");
}
in.close();
return;
}
}
728x90
반응형
'코딩 테스트 > 1. String(문자열)' 카테고리의 다른 글
Q1 - 12 암호 (0) | 2021.09.04 |
---|---|
Q1 - 11 문자열 압축 (0) | 2021.09.04 |
Q1 - 9 숫자만 추출 (0) | 2021.09.04 |
Q1 - 8 유효한 팰린드롬 (0) | 2021.09.04 |
Q1 - 7 회문 문자열 (0) | 2021.09.04 |