• 카테고리

    질문 & 답변
  • 세부 분야

    알고리즘 · 자료구조

  • 해결 여부

    미해결

안녕하세요! 오답질문입니다.

21.04.22 03:05 작성 조회수 101

0

안녕하세요.

다음과 같이 solution을 제출했을때 오답이 나옵니다.

여러가지 case들을 시도해봐도 강사님께서 배표해주신 해답 코드와 같은 답을 얻게되는데, 왜 오답인지 이해가 가질 않아서 문의드립니다.

제가 놓친 부분이 무엇일까요? 

import java.util.Scanner;

public class Main {

	public String solution(String str) {
		String answer = "";
		char[] ca = str.toCharArray();
		int rt = ca.length - 1;
		int lt = 0;
		while (lt < rt) {
			char left = ca[lt];
			char right = ca[rt];
			if (!Character.isAlphabetic(left))
				lt++;
			else if (!Character.isAlphabetic(right))
				rt--;
			else {
				char tmp = ca[lt];
				ca[lt] = ca[rt];
				ca[rt] = tmp;
				lt++;
				rt--;
			}
		}
		answer = String.valueOf(ca);
		return answer;
	}

	public static void main(String[] args) {
		Scanner in = new Scanner(System.in);
		String input = in.next();
		Main m = new Main();
		m.solution(input);
	}
}

시도해본 case들:

input: "a#b!GE*T@S" / output: "S#T!EG*b@a"

input: "te$t&%sp" / ouput: "ps$t&%et"

input: "kj#$stpj" / output: "jp#$tsjk"

input: "test&%sp" / output: "psts&%et"

감사합니다.

답변 2

·

답변을 작성해보세요.

2

wcsjinn님의 프로필

wcsjinn

2021.04.22

지나가다 한번 테스트 해보고 답글 남깁니다. 제가 보기에는 답 제출 시 System.out.println부분이 없어서 결과 값 도출을 못받아서 그런거 아닐까 예상해봅니다. 

main마지막에 System.out.println(m.solution(input));이렇게 출력하는 부분을 넣어보세요.

1

sojung1221님의 프로필

sojung1221

질문자

2021.04.22

아.. 맞네요. 출력부분을 넣으니 해결됬습니다. 감사합니다!