문제
문장이 주어졌을 때, 단어를 모두 뒤집어서 출력하는 프로그램을 작성하시오. 단, 단어의 순서는 바꿀 수 없다. 단어는 영어 알파벳으로만 이루어져 있다.
입출력
입력 : 첫째 줄에 테스트 케이스의 개수 T가 주어진다. 각 테스트 케이스는 한 줄로 이루어져 있으며, 문장이 하나 주어진다. 단어의 길이는 최대 20, 문장의 길이는 최대 1000이다. 단어와 단어 사이에는 공백이 하나 있다.
출력 : 각 테스트 케이스에 대해서, 입력으로 주어진 문장의 단어를 모두 뒤집어 출력한다.
아이디어
받은 문자열을 공백 기준으로 나눈 다음, 각 문자열을 거꾸로 출력하도록 하자.
필요한 문법
StringTokenizer : 이 문제에 핵심 역할을 하는 클래스다.
생성자가 StringTOkenizer(bf.readLine(),” “, false)
세번째 요소에 true를 넣으면 구분자를 포함하여 토큰을 자른다!(false면 구분자를 제외한다.)
그리고 다음 토큰이 존재하는 지 확인하려면 **hasNextTokens()**메소드를 사용해야 한다.(hasNext가 아님..)
StringBuilder : String과 달리, 배열의 크기를 여유롭게 생성해 크기를 자유롭게 활용가능.
문자열에 연산을 많이 해야하는 경우 사용하자.
append() 특정값을 추가
delete() 특정값을 삭제
코드
1 | import java.util.*; |