30일차 문제

양진혁·2021년 11월 30일
0

문제풀이

시간 제한 메모리 제한 제출 정답 맞힌 사람 정답 비율
1 초 256 MB 11516 2708 2337 23.363%
문제
두 양의 정수가 주어졌을 때, 두 수 사이에 있는 정수를 모두 출력하는 프로그램을 작성하시오.

입력
두 정수 A와 B가 주어진다.

출력
첫째 줄에 두 수 사이에 있는 수의 개수를 출력한다.

둘째 줄에는 두 수 사이에 있는 수를 오름차순으로 출력한다.

예제 입력 1
8 14

예제 출력 1
5
9 10 11 12 13

a, b = map(int, input().split())
a1 = min(a, b)
b1 = max(a, b)
n = b1-a1-1
if a1 == b1 or a1+1 == b1:
    n = 0    
print(n)
for i in range(a1+1, b1):
    print(i, end = ' ')

a,b를 받은 후 최소값인 a1 최대값인 b1을 변수로 만들어 준 후 n은 두 수 사이수이기 때문에 두 수를 뺀 후 1을 더 빼준다. if문을 통해서 만약 a,b가 5,6인 상황이나 1,1 같은 상황일 때 n을 0을 프린트 해준다. 그 다음 반복문을 통해서 a1과 b1사이의 수를 프린트 한다.

두번째는
연세대학교의 영문명은 YONSEI, 슬로건은 Leading the Way to the Future이다.

이를 출력하는 프로그램을 작성해보도록 하자.

입력
첫째 줄에 N이 주어진다. (N = 0 또는 1)

출력
N = 0일 경우: 연세대학교의 영문명을 출력한다.
N = 1일 경우: 연세대학교의 슬로건을 출력한다.

a = int(input())
if a == 1:
  print("Leading the Way to the Future")
else:
  print("YONSEI")

if문을 사용해서 a가 1이면 슬로건을 그 외에는 영문명을 출력했다.

세번째 문제

어떤 단어를 뒤에서부터 읽어도 똑같다면 그 단어를 팰린드롬이라고 한다. 'radar', 'sees'는 팰린드롬이다.

수도 팰린드롬으로 취급할 수 있다. 수의 숫자들을 뒤에서부터 읽어도 같다면 그 수는 팰린드롬수다. 121, 12421 등은 팰린드롬수다. 123, 1231은 뒤에서부터 읽으면 다르므로 팰린드롬수가 아니다. 또한 10도 팰린드롬수가 아닌데, 앞에 무의미한 0이 올 수 있다면 010이 되어 팰린드롬수로 취급할 수도 있지만, 특별히 이번 문제에서는 무의미한 0이 앞에 올 수 없다고 하자.

예제 입력 1
121
1231
12421
0

예제 출력 1
yes
no
yes

while True:
  a = list(str(input()))
  if a[0] == "0":
    break
  if list(reversed(a)) == a:
      print("yes")
  else:
      print("no")

while문을 사용해서 a에 대한 입력값을 리스트로 받은 후 만약 a의 첫번째를 0으로 받는다면 break를 통해서 반복문을 종료한다. 그 외에는 리스트를 reversed()를 통해서 뒤집어주고 만약 뒤집은 리스트 a와 그냥 리스트 a가 같다면 yes를 아니면 no를 출력한다.

0개의 댓글