728x90
✔ [한양대 HCPC 2023] Tren del Fin del Mundo
문제
예제
풀이
문제 풀이를 쉽게 하자면 행별로 주어지는 X, Y축 값중 Y축이 가장 작은 값을 추출해라이다.
행별로 공백을 기준으로 값을 분리한 것으로 보아, 문자열 단위로 구분하는 함수에 대한 이해를 요구하는 문제로 보였다.
substring을 활용하여 분리를 해주 었는데 분리의 기준을 indexOf를 활용하여 ' '의 위치를 단위로 잡았다.
그리고 if문을 통하여 Y값을 비교해 주었다.
여기서 제일 중요한 부분은 int result의 초기값 1001이다.
처음에는 초기값 선언을 위하여 0으로 놓았더니 오류가 나와 곰곰히 고민해 보니,
Y축이 1이상인 경우 에는 값에 대한 비교가 정상적으로 이루어지지 않게 되어 있는 것이다.
그래서 문제에 제시된 n의 최댓값인 1000을 기준으로 비교할 수 있도록 초기값을 설정해 주었다.
public static void main(String[] args) throws Exception {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
int T = Integer.parseInt(br.readLine()); //첫 줄 입력값 받기
int result = 1001; // n 최댓값
String strResult = ""; // 결과값
for( int i = 0 ; i < T ; i++ ) {
String Y = br.readLine();
int ChkResult = Integer.parseInt(Y.substring(Y.indexOf(' ')).trim()); // 공백 부터 값 가져오기
if(result > ChkResult) { // result 변수보다 현재 Y축값이 작다면
result = ChkResult;
strResult = Y;
}
}
System.out.println(strResult);
}
결과
728x90
'개발자로 나아가는 나의 언어들 > JAVA' 카테고리의 다른 글
[JAVA/Softeer] 위험한 효도 - 코딩테스트 생각의 차이 비교 (1) | 2024.10.17 |
---|---|
[JAVA/Softeer] 연탄 배달의 시작 (1) | 2024.09.23 |
[JAVA/Softeer] [한양대 HCPC 2023] 개표 (0) | 2024.09.23 |
[java] hashcode()와 equals()는 뭘까? (0) | 2021.09.26 |
자바 알고리즘만들어보기 - 드래곤볼 (0) | 2019.03.18 |