[BaekJoon] 10093 : 숫자

🔒 문제

두 양의 정수가 주어졌을 때, 두 수 사이에 있는 정수를 모두 출력하는 프로그램을 작성하시오.

🛫 입력

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

🛬 출력

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

🔑 풀이

🙅‍ 첫 번째 풀이 : 틀렸습니다!

a, b = input().split()
a = int(a)
b = int(b)
c = b-a
print(c-1)
for i in range(a+1, b) :
    print(i, end=" ")

a == b인 경우를 생각하지 못해 틀린 거라고 생각해,
다음 시도에서 조건문을 이용해 풀이를 시도했다.

🙅‍ 두 번째 풀이 : 틀렸습니다!

조건에서 제시한 a와 b가 a > b인 경우를 생각하지 못했다.

a, b = input().split()
a = int(a)
b = int(b)
if (a != b) :
    c = b-a
    print(c-1)
    for i in range(a+1, b) :
        print(i, end=" ")
else :
    print(0)

🙆‍ 세 번째 풀이 : 맞았습니다!

a, b = map(int, input().split())
if (a > b) :
    (a, b) = (b, a)

if (a != b) :
    c = b-a
    print(c-1)
    for i in range(a+1, b) :
        print(i, end=" ")
else :
    print(0)

🏅 Refactoring

a, b = map(int, input().split())
a, b = min(a, b), max(a, b)
l = list(range(a+1,b))
print(len(l))
print(*l) 

📌 Pinned

map 함수는 여러 개의 데이터를 한 번에 다른 형태로 바꿀 때 사용한다.

print(*list)를 이용해, list의 요소를 출력할 수 있다.
: We can customize the output by incuing sep value.

좋은 웹페이지 즐겨찾기