알고리즘
입력 받은 문자열 배열에서 원하는 값의 첫번째 원소와 마지막 원소를 찾는 알고리즘
개발 초보
2023. 4. 14. 11:17
import java.io.*;
import java.lang.*;
import java.util.*;
public class Main {
public static final Scanner scanner = new Scanner(System.in);
/**
* @param school 각 사람들의 소속학교 정보 배열
* @param n 사람들의 수
* @param findName 찾을 학교 이름
*/
public static int[] getIndexes(String[] school, int n, String findName){
int firstIndex = -1; //존재하지 않으면 -1
int lastIndex = -1; //존재하지 않으면 -1
for(int i = 0; i < n; i++){
if(school[i].equals(findName)){
if(firstIndex == -1){
firstIndex = i + 1; //인덱스 번호가 아닌 순서를 출력해야 하기에 + 1을 해줌
}
lastIndex = i + 1; //기존 lastIndex에 덮어 쓴다
}
}
return new int[]{firstIndex, lastIndex}; //firstIndex와 lastIndex만이 값으로 있는 배열을 반환
}
public static void main(String[] args){
int n = scanner.nextInt(); //배열 크기 입력 받음
String[] schools = new String[n];
for(int i = 0 ; i < n ; i++){ //배열 크기만큼(n만큼) 문자열 배열을 입력 받음
schools[i] = scanner.next();
}
String findName = scanner.next();
int[] indexes = getIndexes(schools, n, findName);
System.out.printf("%d %d\n", indexes[0], indexes[1] );
}
}