지금 in between jobs 상태라서 취업 면접을 보고 있다.
어제 한 회사의 테크니컬 인터뷰를 봤다.
한 문제가 나왔는데 아래가 그 문제다.
String input을 reverse 하는데 letter 별로 하는게 아니라 단어별로 하라는 거다.
그래서 결과는 output과 같아야 한다는 것이다.
그 자리에서 나름대로 스크립팅를 해서 만들게 아래 코드다.
다행히도 원하는 결과물의 만들었다.
그래서 테크니컬 인터뷰는 통과 했다.
로직은 이전에 했던 String 의 letter들을 reverse 하는 것과 같다. 다면 단어를 reverse 해야 하는데 이건 letter 별이 아니라 단어별로 끊어서 배열에 넣으면 된다고 생각했다.
class HelloWorld { // 클래스 이름. 그냥 신경 안 쓰고 HelloWorld로 했다.
public static void main(String[] args) { // 메인 함수
String input = "Reverse words in a sentence."; // 입력값
String output = "sentence. a in words Reverse"; // 원하는 출력 값
System.out.println(reverseWords(input)); // reverseWords라는 메소드에 입력값을 보내고 그 결과를 프린트 한다.
}
public static String reverseWords(String input) { // reverseWords 메소드 입력값은 input 스트링 return은 스트링 타입이다.
String returnValue; // return 할 스트링 변수를 만든다.
String[] tempInput = input.split(" "); // input 을 단어별로 나눠서 스트링 배열에 담는다.
int left = 0;
int right = tempInput.length -1;
while(left < right) { // left가 right 보다 작을 때까지 while문을 돌린다.
String temp = tempInput[left]; // 스프링에 배열 맨 왼쪽 값을 넣는다.
tempInput[left++] = tempInput[right]; // 맨 왼쪽에 맨 오른쪽 단어를 넣는다.
tempInput[right--] = temp; // 오른쪽에 맨 왼쪽 값을 넣는다.
}
returnValue = tempInput[0]; // returnValue에 배열의 맨 첫번째 값을 담는다.
for(int i=1; i < tempInput.length; i++) { // 배열의 갯수보다 1 작은 만큼 for 문을 돌린다.
returnValue = returnValue + " " + tempInput[i]; // 각 배열의 값들을 하나의 스트링 으로 만든다.
}
return returnValue; // 만든 스트링 을 리턴한다.
}
}
결과 값은 오른쪽 Output 패널에 보이는 대로 원하는 값을 얻을 수 있었다.
다행히 문제를 제대로 풀 수 있어서 통과 했다.
'etc. > Leetcode' 카테고리의 다른 글
Leetcode - 26. Remove Duplicates from Sorted Array - Easy (0) | 2022.08.18 |
---|---|
Leetcode - 20. Valid Parentheses - Easy (0) | 2022.08.14 |
Leetcode - 14. Longest Common Prefix - Easy (0) | 2022.08.11 |
Leetcode - 13. Roman to Integer - Easy (0) | 2022.08.08 |
Leetcode - 9. Palindrome Number - Easy (0) | 2022.08.06 |
Iterator basic (0) | 2022.07.31 |
Leetcode - 242. Valid Anagram : Easy (0) | 2022.07.31 |
Leetcode - 442. Find All Duplicates in an Array (0) | 2022.07.26 |
JAVA - Find duplicate letters in a String (0) | 2022.07.26 |
JAVA - String Revers Sample (0) | 2022.07.25 |