[백준(BOJ) 10093번] 숫자 (C++)

2022. 1. 6. 23:00·PS(Problem Solving)/C++

문제 링크

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

 

문제 정보

입력

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

출력

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

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

 

풀이

 A, B의 범위가 1 <= A, B <= 10^15 이므로 long long 자료형을 사용해야 overflow가 발생하지 않는다. 그리고 문제에는 나와있지 않은 조건인데 만약 A와 B가 같거나, 또는 A와 B의 차가 1이라서 사이의 수가 존재하지 않는 다면 0을 출력하고 끝내면 된다. 나는 A가 B보다 무조건 작도록 swap() 함수를 사용했다.

 

소스 코드

#include <bits/stdc++.h>
using namespace std;

int main(void) {
	ios::sync_with_stdio(0);
	cin.tie(0);
	
	long long A, B;
	cin >> A >> B;
	
	if (A > B) {
		swap(A, B);
	}
	
	if (A == B || B - A == 1) {
		cout << '0';
	} else {
		cout << B - A - 1 << '\n';
		for (long long i = A + 1; i < B; i++) {
			cout << i << ' ';
		}
	}

	
	return 0;
}
저작자표시 비영리 변경금지 (새창열림)
'PS(Problem Solving)/C++' 카테고리의 다른 글
  • [백준(BOJ) 11328번] Strfry (C++)
  • [백준(BOJ) 10808번] 알파벳 개수 (C++)
  • [백준(BOJ) 10804번] 카드 역배치 (C++)
  • [백준(BOJ) 2309번] 일곱 난쟁이 (C++)
SiwonHae
SiwonHae
프로그래밍을 공부하고 있는 학생입니다.
  • SiwonHae
    시원해의 블로그
    SiwonHae
  • 전체
    오늘
    어제
    • 전체보기 (150)
      • PS(Problem Solving) (95)
        • C (25)
        • C++ (33)
        • JAVA (37)
      • Algorithm & Data Structure (13)
      • Computer Science (12)
        • Network (2)
        • Design Pattern (10)
      • Back-end (6)
        • Spring (5)
      • Front-end (1)
        • React (1)
      • JAVA (4)
      • 정보처리기사 (17)
      • SQLD (2)
  • 블로그 메뉴

    • 홈
    • 방명록
    • 글쓰기
  • 인기 글

  • 최근 댓글

  • hELLO· Designed By정상우.v4.10.0
SiwonHae
[백준(BOJ) 10093번] 숫자 (C++)
상단으로

티스토리툴바