WALF
Keep Going Don't Give up
WALF
전체 방문자
오늘
어제
  • 분류 전체보기
    • JAVA
    • Python
    • HTML, CSS
    • Algorithm
      • Concept
      • 구현
      • JAVA
      • Python
      • 프로그래머스 알고리즘 고득점 Kit
    • SQL
    • Git, GitHub
    • CS

블로그 메뉴

  • 홈
  • 태그
  • 방명록

공지사항

인기 글

태그

  • 알고리즘
  • For Each
  • enumerate
  • syntax
  • Python
  • ORD
  • BOJ
  • 시간 복잡도
  • 식별자
  • charat
  • 백준
  • Entity
  • SQL
  • SQLD
  • attribute
  • 데이터 모델의 이해
  • relationship
  • Java
  • chr
  • 데이터 모델링의 이해

최근 댓글

최근 글

티스토리

hELLO · Designed By 정상우.
WALF

Keep Going Don't Give up

Algorithm/Python

[BOJ] 1259 팰린드롬수 - Python

2023. 8. 13. 02:26

■ 문제 링크

https://www.acmicpc.net/problem/1259

 

1259번: 팰린드롬수

입력은 여러 개의 테스트 케이스로 이루어져 있으며, 각 줄마다 1 이상 99999 이하의 정수가 주어진다. 입력의 마지막 줄에는 0이 주어지며, 이 줄은 문제에 포함되지 않는다.

www.acmicpc.net


■ 문제

본 문제는 solved.ac 브론즈 1 문제이다.


■ 풀이

 

처음에 반복문 안에서 시작한다. 이는, 0을 입력 받았을때, 소스코드를 종료하기 위함이다.

number를 입력 받는데, 

예를들어 number이 1221일때, 펠린드롬 수인지 분별하기 위해, 우리는 이것을 비교하게 된다.

 

number[0] == number[-1]

number[1] == number[-2]

 

이 두개가 모두 같은지 확인하기위해,

우선 기본값은 'yes'인 answer 변수를 만들어주며, 하나라도 만족하지 못할 때 'no'로 바꾸어준다.

 

그리고 반복문을 돌리는데, 범위는 0부터, len(number)//2 까지이다. 

 

이것도 왜 그런지 예시를 들어 생각하면 편한데, 비교해야하는 갯수는 

4자리의 숫자일 경우, number[0] == number[-1], number[1] == number[-2]  -> 2개

5자리의 숫자일 경우 number[0] == number[-1], number[1] == number[-2] -> 2개

6자리의 숫자일 경우 number[0] == number[-1], number[1] == number[-2], number[2] == number[-3] -> 3개

이므로, 반복문의 범위는 저렇게 설정해 주는 것이다.

 

펠린드롬수는 이 조건들을 하나도 틀리지 않고 모두 만족해야하므로,

a한 번이라도 틀리면 바로 변수 answer를 'no'로 바꾸게 진행하며, answer를 출력한다.

 

 

while True:
  number = input()
  if number == '0':
    break
  
  answer = 'yes'
  for i in range(0,len(number)//2):
    if number[i] != number[-i-1]:
      answer = 'no'
  
  print(answer)

'Algorithm > Python' 카테고리의 다른 글

[BOJ] 2231 분해합 - Python  (0) 2023.08.12
[BOJ] 2869 달팽이는 올라가고 싶다 - Python  (0) 2023.08.12
[BOJ] 1157 단어공부 - Python  (0) 2023.08.12
[BOJ] 1181 단어 정렬 - Python  (0) 2023.08.12
[BOJ] 10814 나이순 정렬 - Python  (0) 2023.08.12
    'Algorithm/Python' 카테고리의 다른 글
    • [BOJ] 2231 분해합 - Python
    • [BOJ] 2869 달팽이는 올라가고 싶다 - Python
    • [BOJ] 1157 단어공부 - Python
    • [BOJ] 1181 단어 정렬 - Python
    WALF
    WALF

    티스토리툴바