본문 바로가기
DEVLOG/Algorithms

[BOJ 10093] 숫자 - 파이썬 풀이

2019. 5. 8.
반응형

 

 

10093번: 숫자

문제 두 양의 정수가 주어졌을 때, 두 수 사이에 있는 정수를 모두 출력하는 프로그램을 작성하시오. 입력 두 정수 A와 B가 주어진다. (1 ≤ A, B ≤ 1015, A와 B의 차이는 최대 100,000) 출력 첫째 줄에 두 수 사이에 있는 수의 개수를 출력한다. 둘째 줄에는 두 수 사이에 있는 수를 오름차순으로 출력한다. 예제 입력 1 복사 8 14 예제 출력 1 복사 5 9 10 11 12 13...

www.acmicpc.net

처음에 볼 때는 굉장히 쉬운 문제 같았는데, 정답률이 26%길래 의아해서 풀어봤습니다.

음.. 풀고나니 뭔가 찜찜한 문제였어요..

우선 문제 조건에서 A < B 처럼 보였어요..

A가 B보다 큰 수일 수도 있기 때문에 조건을 잘 따져주어야 합니다.

또 파이썬에서는 문제 될 것이 없는데, C++의 경우 long long 자료형을 써주어야합니다.

입력값이 10^15이기 때문에.. 상상도할 수 없는 큰 수네요ㅎㅎ

import sys
from collections import deque

a, b = map(int, sys.stdin.readline().strip().split())
if a>b:
    tmp = a
    a = b
    b = tmp
deque = deque()
for i in range(a+1, b):
    deque.append(i)
print(len(deque))
print(*deque)
반응형

댓글