Coding Test/인프런_자바 코딩테스트
String(문자열) - 3. 문장 속 단어
똧이
2022. 3. 1. 18:05
반응형
출처: 인프런 자바(Java) 알고리즘 문제풀이 : 코딩테스트 대비
자바(Java) 알고리즘 문제풀이 : 코딩테스트 대비 - 인프런 | 강의
자바(Java)로 코딩테스트를 준비하시는 분을 위한 강좌입니다. 코딩테스트에서 가장 많이 출제되는 Top 10 Topic을 다루고 있습니다. 주제와 연동하여 기초문제부터 중급문제까지 단계적으로 구성
www.inflearn.com
import java.util.Scanner;
public class Main {
public static void main(String[] args){
Scanner sc = new Scanner(System.in);
String str = sc.nextLine();
String[] strArr = str.split("\\s");
String answer = "";
int max = 0;
for(int i = 0; i < strArr.length; i++){
if(strArr[i].length() > max){
answer = strArr[i];
max = strArr[i].length();
}
}
System.out.println(answer);
}
}
- 놓쳤던 부분
1. next()로 하니 안됐던게 nextLine()으로 하니까 됐다.
next()와 nextLine()의 차이 nextLine()메소드는 Enter를 치기 전까지 쓴 문자열 모두 반환한다는 것이고 next()메소드는 공백(space) 전까지 입력받은 문자열을 반환한다는 것이다. 출처: https://velog.io/@alswp2274/JAVA-next-nextLine%EC%9D%98-%EC%B0%A8%EC%9D%B4 |
2. 공백으로 split 하는 부분은 split(" ")으로 해도 가능하지만 split("\\s") 또는 split("\\s+") (공백이 여러 개인 경우)로 하는 것이 정확하다.
3. 처음에는 strArr[i], strArr[i+1]로 비교해서 하려고 했지만, 그것보다 max값을 선언한 후 max와 strArr[i].length()를 비교하는 것이 훨씬 효율적이라고 판단하였다.
728x90