[伯俊]AをBに変えるjava
10613 ワード
1.質問
2.コード
最初に考えてみると、A字が1つしか前に移動していないと思って、B文の後ろから移動するものを探してくれました.
説明しにくい...
たとえば、
B文のABまで同じで、Cを探して、前のAを探して、しかしありません.
ABCを除いて、残りの2つでいいです.
2.コード
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.*;
public class Main {
public static void main(String[] args) throws IOException {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
StringBuilder A = new StringBuilder(br.readLine());
StringBuilder B = new StringBuilder(br.readLine());
int[] num = new int[26];
for(int i=0; i<A.length(); i++){
num[A.charAt(i)-'A']++;
}
for(int i=0; i<A.length(); i++){
num[B.charAt(i)-'A']--;
}
for(int i=0; i<26; i++){
if(num[i]!=0){
System.out.println(-1);
return;
}
}
int result = 0;
int pos = A.length()-1;
int curr = pos;
int cnt = 0;
while(curr>=0 && pos>=0){
if(B.charAt(curr) == A.charAt(pos)){
cnt++;
curr--;
}
pos--;
}
System.out.println(A.length()-cnt);
}
}
3.Review最初に考えてみると、A字が1つしか前に移動していないと思って、B文の後ろから移動するものを探してくれました.
説明しにくい...
たとえば、
B文のABまで同じで、Cを探して、前のAを探して、しかしありません.
ABCを除いて、残りの2つでいいです.
Reference
この問題について([伯俊]AをBに変えるjava), 我々は、より多くの情報をここで見つけました https://velog.io/@hakka_ame/백준A를-B로.javaテキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol