알고리즘
두 문자열 중 사전순으로 앞서는 문자열을 알아내는 함수
개발 초보
2023. 6. 5. 15:00
import java.io.*;
import java.lang.*;
import java.util.*;
class StringUtil {
//비교를 통한 문자열의 사전순으로 우선되는 문자열을 찾는 함수
public static int compare(char[] s1, char[] s2){
int n = Math.min(s1.length, s2.length); //둘 중 더 짧은 배열의 길이만큼 문자를 반복하여 비교함
for(int i=0; i<n; i+=1){
if(s1[i] != s2[i]){
return (int) s1[i] - s2[i]; //s1[i]가 사전순으로 앞이면 음수, 뒤면 양수를 반환함
}
}
return s1.length - s2.length; //더 짧은 문자열의 길이만큼 반복 비교했을 때, 모든 문자가 일치하면 둘 중 더 짧은 문자열이 사전순으로 앞섬
}
public static boolean equals(char[] s1, char[] s2){
if(s1.length != s2.length){ //두 문자열의 길이가 다르면 false를 반환
return false;
}
for(int i=0; i<s1.length; i++){ //두 문자열의 길이가 같은 경우에만 비교를 수행
if(s1[i] != s2[i]){
return false;
}
}
return true; //모든 문자가 일치해야만 true를 반환
}
}
public class Main {
public static final Scanner scanner = new Scanner(System.in);
public static void main(String args[]){
String t1 = scanner.next();
String t2 = scanner.next();
char[] s1 = t1.toCharArray();
char[] s2 = t2.toCharArray();
boolean result = StringUtil.equals(s1, s2);
System.out.println(result);
}
}