데이터 엔지니어링 정복/Algorithm
[문자열] 백준 - 팰린드롬수
noohhee
2021. 7. 24. 16:52
728x90
반응형
https://www.acmicpc.net/problem/1259
1259번: 팰린드롬수
입력은 여러 개의 테스트 케이스로 이루어져 있으며, 각 줄마다 1 이상 99999 이하의 정수가 주어진다. 입력의 마지막 줄에는 0이 주어지며, 이 줄은 문제에 포함되지 않는다.
www.acmicpc.net
-문제해설
숫자로 입력받지 않고 문자열n으로 입력받은 다음에 반복문을 0부터 n/2까지 순회하면서
양 끝값을 비교한다. n.charAt( i )와 n.charAt( n.length()-i-1 ) 다르면 ans라는 변수를 "no"로 초기화시키고
반복문을 빠져나온다.
같은 경우 ans 값을 그대로 출력한다. ans의 맨 처음 초기값은 "yes"이다.
-자바
package string;
import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.OutputStreamWriter;
public class BJ1259 {
private static BufferedWriter bw =
new BufferedWriter( new OutputStreamWriter(System.out));
private static String n, ans;
public static void main(String[] args) throws NumberFormatException, IOException {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
while( true ) {
n = br.readLine();
if( n.equals("0") ) break;
ans = "yes";
for( int i=0; i< n.length()/2; i++ ) {
if( n.charAt(i) != n.charAt(n.length()-i-1) ) {
ans = "no";
break;
}
}
bw.write( ans + "\n" );
bw.flush();
}
bw.close();
br.close();
}
}
-파이썬
while True:
n = input()
if n=="0": break
ans = "yes"
for i in range( len(n)//2 ):
if n[i] != n[len(n)-i-1]:
ans="no"
break
print( ans )
728x90
반응형