코딩테스트 준비/SW Expert Academy

SW Expert Academy [D2-1989] Java 풀이 : 초심자의 회문 검사

김또롱 2020. 8. 26. 20:39

초심자의 회문 검사

 

package difficulty.level02;

import java.util.Scanner;

public class no1989 {
	
	/**
	 * 1989. 초심자의 회문 검사
	*/
	
	public static void main(String args[]) throws Exception
	{
		Scanner sc = new Scanner(System.in);
		int T;
		T=sc.nextInt();
		
		for(int test_case = 1; test_case <= T; test_case++)
		{
			char[] ch = sc.next().toCharArray();
			boolean bool = false;
			for(int i=0;i<ch.length/2;i++) {
				if(ch[i] == ch[ch.length-1-i]) {
					bool = true;
				}else {
					bool = false;
				}
			}
			
			if(bool) {
				System.out.printf("#%d %d\n",test_case,1);
			}else {
				System.out.printf("#%d %d\n",test_case,0);
			}
		}
	}
}

 

 

구하고자 하는 것은 거꾸로 읽어도 같은 단어일 때 1, 다른 단어일 때 0을 반환하는 알고리즘이다.

내 풀이 방법

입력받은 단어를 하나의 char형으로 잘라 배열에 저장하여 비교한다.

풀이 순서

  1. char[] 배열 ch에 입력받은 단어를 하나의 char형으로 잘라 저장한다.
  2. 배열의 길이의 절반만큼만 for문을 돌려 양 끝이 같은 단어인지 비교한다.
  3. 같지 않을 때 boolean형 변수 bool에 false를, 같을 때 true를 담는다.
  4. bool값을 비교하여 1 또는 0을 출력한다.

Github 주소

https://github.com/MIN-04/CodingTest/blob/master/SW_Expert_Academy/DLevel02/no1989.java

 

MIN-04/CodingTest

코딩테스트 준비 / 문제 풀이. Contribute to MIN-04/CodingTest development by creating an account on GitHub.

github.com