본문 바로가기

분류 전체보기

(308)
[백준/Python] 2338번: 긴자리 계산 문제https://www.acmicpc.net/problem/2338문제 요약두 수 A, B를 입력 받아 A + B, A - B, A × B를 출력한다. 단, 각 수는 10진수로 1000자리 이하의 정수이다.코드a=int(input())b=int(input())print(a+b)print(a-b)print(a*b)코드 설명파이썬은 Big Integer 연산을 지원하기 때문에 짧은 코드로 구현할 수 있다. Big Integer 연산이란, 매우 큰 정수 값을 다룰 수 있는 기능을 의미한다. 일반적으로 다른 언어에서 정수의 범위는 제한되어 있다. 하지만, 파이썬의 int형은 사용 가능한 메모리 양에 따라 크기가 가변적이므로 범위에 제한을 받지 않는다.고찰다음에 시간이 된다면,, C++로 구현 연습을 하는 것도..
[백준/C++] 13565번: 침투 문제https://www.acmicpc.net/problem/13565문제 요약M × N 크기의 격자로 표현되는 섬유 물질이 있다. 각 격자는 0이라면 전류가 잘 통하고, 1이라면 전류가 통하지 않는다. 위쪽을 바깥쪽, 아래쪽을 안쪽이라고 생각했을 때, 바깥쪽에서 흘려 준 전류가 안쪽까지 침투될 수 있는지를 출력한다.코드#include #include #define MAX 1000using namespace std;int n, m;char board[MAX][MAX];bool check[MAX][MAX];bool flag = false;int dx[4] = { 0, 0, 1, -1 };int dy[4] = { 1, -1, 0, 0 };void dfs(int x, int y) { check[x][y] = ..
[백준/C++] 10814번: 나이순 정렬 문제https://www.acmicpc.net/problem/10814문제 요약n명의 온라인 저지에 가입한 사람들의 나이와 이름이 순서대로 주어진다. 회원들의 나이가 증가하는 순으로, 나이가 같으면 먼저 가입한 사람이 앞에  오는 순서로 정렬하여 출력한다.코드#include #include #include #include #include using namespace std;int n;vector> arr;// 정렬 조건을 정의하는 함수bool compare(tuple a, tuple b) { if (get(a) == get(b)){ return get(a) (b); } return get(a) (b);}int main() { cin >> n; // 정보 입력 for (int i = 0; i > age..
[백준/C++] 10989번: 수 정렬하기 3 문제https://www.acmicpc.net/problem/10989문제 요약N개의 수가 주어졌을 때, 이를 오름차순으로 정렬하여 출력한다. 수의 개수는 1이상 10,000,000이하이다.수는 10,000보다 작거나 같은 자연수이다.코드#include #define MAX 10000using namespace std;int n;int input[MAX + 1]; // input[i] : i 등장 횟수int main() { // 입출력 시간 단축 ios_base::sync_with_stdio(false); cin.tie(NULL); cout.tie(NULL); cin >> n; // 입력받은 수가 몇번 등장했는지 체크 for (int i = 0; i > num; input[num]++; } // 1 ~..
[백준/C++] 1072번: 게임 문제https://www.acmicpc.net/problem/1072문제 요약형택이는 앞으로의 모든 게임에서 지지 않는다. 게임 기록은 현재 다음과 같다. 게임 횟수 : X이긴 게임 : Y승률 : Z% X, Y가 주어졌을 때, 형택이가 게임을 최소 몇 번 더 해야 Z가 변하는지 출력한다.코드#include #define ll long longusing namespace std;ll x, y, z;ll res = -1;void bin_search() { ll left = 1; ll right = 1000000000; while (left > x >> y; z = y * 100 / x; bin_search(); cout 코드 설명이진 탐색을 통해 문제를 해결한다. 형택이가 게임을 mid 판 진행했을 때, Z..
[백준/C++] 5618번: 공약수 문제 https://www.acmicpc.net/problem/5618 5618번: 공약수 첫째 줄에 n이 주어진다. n은 2 또는 3이다. 둘째 줄에는 공약수를 구해야 하는 자연수 n개가 주어진다. 모든 자연수는 108 이하이다. www.acmicpc.net 문제 요약 자연수가 n개 주어졌을 때 이 자연수의 공약수를 모두 출력한다. n은 2 또는 3이다. 코드 #include #include using namespace std; int n, a, b, c, gcd; // 유클리드 호제법으로 a, b의 최대 공약수 반환 int GCD(int a, int b) { while (b != 0) { int tmp = b; b = a % b; a = tmp; } return a; } int main() { cin..