오늘 풀어본 문제는 단어 뒤집기 문제였다. 먼저 정수를 하나 입력받고, 입력 받은 정수 만큼의 단어를 입력하면, 입력한 단어들이 출력 될때 거꾸로 뒤집어서 출력되게 만드는 문제였다.
우선 조건을 첨부한다.
[설명]
N개의 단어가 주어지면 각 단어를 뒤집어 출력하는 프로그램을 작성하세요.
[입력]
첫 줄에 자연수 N(3<=N<=20)이 주어집니다.
두 번째 줄부터 N개의 단어가 각 줄에 하나씩 주어집니다. 단어는 영어 알파벳으로만 구성되어 있습니다.
[출력]
N개의 단어를 입력된 순서대로 한 줄에 하나씩 뒤집어서 출력합니다.
[예시]
입력 : 3, good Time Big
출력 : doog emiT giB
이 문제를 풀 때 필요한 메소드는 StringBuilder 클래스의 reverse() 메소드가 필요했다. reverse 메소드를 사용하면 문자의 순서가 거꾸로 뒤집어진다고 한다. 또 다른 방법이 있었는데, 인덱스를 사용하여 메소드를 사용하지 않고 직접 문자들의 자리를 변경해주는 방법 또한 존재했다.
여기서 String 이 아닌 StringBuilder 클래스를 사용하는 이유는 String 은 처음에 대입한 문자열을 변경할 수 없기 때문에, 새로운 객체를 만들어서 다시 대입하는 형식으로 절차가 이루어지지만 StringBuilder 는 수정이 가능하여 객체를 만들지 않아도 되서 메모리를 덜 사용할 수 있다고 한다. 중요한 정보 같으니 꼭 기억해두어야 겠다.