전체 글 292

[백준 BOJ][Python] 2338 긴자리 계산

링크 www.acmicpc.net/problem/2338 2338번: 긴자리 계산 첫째 줄에 A+B, 둘째 줄에 A-B, 셋째 줄에 A×B를 출력한다. 각각을 출력할 때, 답이 0인 경우를 제외하고는 0으로 시작하게 해서는 안 된다(1을 01로 출력하면 안 된다는 의미). www.acmicpc.net 풀이 긴자리 숫자를 계산해야하는 문제다. 1000자리까지 들어오니까 Python을 활용하면 간단하게 처리할 수 있다. 코드 #2338_긴자리 계산 a = int(input()) b = int(input()) print(a+b) print(a-b) print(a*b)

PS/BOJ 2021.02.23

[백준 BOJ] 1550 16진수

링크 www.acmicpc.net/problem/1550 1550번: 16진수 첫째 줄에 16진수 수가 주어진다. 이 수의 최대 길이는 6글자이다. 16진수 수는 0~9와 A~F로 이루어져 있고, A~F는 10~15를 뜻한다. 또, 이 수는 음이 아닌 정수이다. www.acmicpc.net 풀이 16진수를 받아서 10진수로 변환 후 출력하는 문제다. 처음에 string으로 입력받아서 뒷자리부터 16^0, 16^1, 16^2, 16^3...를 곱하면서 result에 더해주면 해결할 수 있다. '0'~'9'까지는 s[i] - '0'으로 계산하고, 'A'~'F'까지는 s[i] - 'A' + 10으로 계산하면 된다. 코드 //1550_16진수 #include #include using namespace std;..

PS/BOJ 2021.02.23

[백준 BOJ][Python] 1271 엄청난 부자2

링크 www.acmicpc.net/problem/1271 1271번: 엄청난 부자2 첫째 줄에는 최백준 조교가 가진 돈 n과 돈을 받으러 온 생명체의 수 m이 주어진다. (1 ≤ m ≤ n ≤ 101000, m과 n은 10진수 정수) www.acmicpc.net 풀이 n원을 m명한테 동일하게 분배하고, 남는 돈을 계산해야하기 때문에 나누기와 나머지 연산을 이용해야 한다. 하지만 n, m의 범위가 매우 크기 때문에 python을 이용해서 풀이하는 게 좋다. 코드 #1271_엄청난 부자 n, m = input().split() n = int(n) m = int(m) print(n//m) print(n%m)

PS/BOJ 2021.02.23

[백준 BOJ][DP] 2133 타일 채우기

링크 www.acmicpc.net/problem/2133 2133번: 타일 채우기 3×N 크기의 벽을 2×1, 1×2 크기의 타일로 채우는 경우의 수를 구해보자. www.acmicpc.net 풀이 3XN 크기의 벽을 2X1, 1X2 크기의 타일로 채우는 경우의 수를 구하는 문제이다. 일단 힌트를 가지고 N이 작은 경우를 나열해보면 아래와 같다. 접근하기 DP[N]을 3XN의 타일을 채우는 경우의 수라고 두자. 3X1과 3X3은 2X1, 1X2 크기의 타일로 채울 수 있는 경우가 없다. 즉, 3XN에서 N이 홀수일 때는 경우의 수가 0이 된다는 것이다. 그럼 N이 짝수일 때를 생각해보면, 3X2 크기를 채울 수 있는 방법이 3개가 있다. 3X4를 채울 수 있는 방법은 3X2 크기를 채운 경우의 수에 남은 ..

PS/BOJ 2021.02.18

[백준 BOJ] 14681 사분면 고르기

링크 https://www.acmicpc.net/problem/14681 14681번: 사분면 고르기 점 (x, y)의 사분면 번호(1, 2, 3, 4 중 하나)를 출력한다. www.acmicpc.net 풀이 x, y의 좌표를 받아서 어느 사분면에 속하는지 알아내는 문제이다. 사분면의 위치는 좌표의 양음에 따라서 결정되는데, 0일때는 정의되지 않음으로 입력 조건에서 제외한 모습을 볼 수 있다. 우선 x가 0보다 크다면 y에 따라서 1사분면(y>0)과 4사분면(y0)과 3사분면(y 0) { if (y > 0) printf("1"); else printf("4"); } else { if (y > 0) printf("2"); else printf("3"); } return 0; }

PS/BOJ 2021.02.18

[백준 BOJ] 1011 Fly me to the Alpha Centauri

링크 https://www.acmicpc.net/problem/1011 1011번: Fly me to the Alpha Centauri 우현이는 어린 시절, 지구 외의 다른 행성에서도 인류들이 살아갈 수 있는 미래가 오리라 믿었다. 그리고 그가 지구라는 세상에 발을 내려 놓은 지 23년이 지난 지금, 세계 최연소 ASNA 우주 비행사가 되어 새로운 세계에 발을 내려 놓는 영광의 순간을 기다리고 있다. 그가 탑승하게 될 우주선은 Alpha Centauri라는 새로운 인류의 보금자리를 개척하기 위한 대규모 생활 유지 시스템을 탑재하고 있기 때문에, 그 크기와 질량이 엄청난 이유로 최신기술력을 www.acmicpc.net 풀이 거리가 주어지고 1) 이전 작동시기에 k광년을 이동했을 때, k-1, k 혹은 k+..

PS/BOJ 2020.03.08

[백준 BOJ] 2869 달팽이는 올라가고 싶다

링크 https://www.acmicpc.net/problem/2869 2869번: 달팽이는 올라가고 싶다 문제 땅 위에 달팽이가 있다. 이 달팽이는 높이가 V미터인 나무 막대를 올라갈 것이다. 달팽이는 낮에 A미터 올라갈 수 있다. 하지만, 밤에 잠을 자는 동안 B미터 미끄러진다. 또, 정상에 올라간 후에는 미끄러지지 않는다. 달팽이가 나무 막대를 모두 올라가려면, 며칠이 걸리는지 구하는 프로그램을 작성하시오. 입력 첫째 줄에 세 정수 A, B, V가 공백으로 구분되어서 주어진다. (1 ≤ B < A ≤ V ≤ 1,000,000,000) 출력 첫째 줄에 달팽 www.acmicpc.net 풀이 시간 제한이 0.15초로 짧기 때문에 반복문을 이용하면 시간 초과가 뜹니다. 그렇기 때문에 식으로 계산해주면 편..

PS/BOJ 2020.03.07

[백준 BOJ] 2292 벌집

링크 https://www.acmicpc.net/problem/2292 2292번: 벌집 위의 그림과 같이 육각형으로 이루어진 벌집이 있다. 그림에서 보는 바와 같이 중앙의 방 1부터 시작해서 이웃하는 방에 돌아가면서 1씩 증가하는 번호를 주소로 매길 수 있다. 숫자 N이 주어졌을 때, 벌집의 중앙 1에서 N번 방까지 최소 개수의 방을 지나서 갈 때 몇 개의 방을 지나가는지(시작과 끝을 포함하여)를 계산하는 프로그램을 작성하시오. 예를 들면, 13까지는 3개, 58까지는 5개를 지난다. www.acmicpc.net 풀이 N번 방을 몇 개의 방을 거쳐야 갈 수 있는지 계산하는 문제입니다. 라인을 그려서 개수를 세어보았는데, 라인별로 6씩 증가하는 것을 볼 수 있었습니다. 그래서 저는 세 가지 변수를 두어 ..

PS/BOJ 2020.03.07

[백준 BOJ] 2839 설탕 배달

링크 https://www.acmicpc.net/problem/2839 2839번: 설탕 배달 문제 상근이는 요즘 설탕공장에서 설탕을 배달하고 있다. 상근이는 지금 사탕가게에 설탕을 정확하게 N킬로그램을 배달해야 한다. 설탕공장에서 만드는 설탕은 봉지에 담겨져 있다. 봉지는 3킬로그램 봉지와 5킬로그램 봉지가 있다. 상근이는 귀찮기 때문에, 최대한 적은 봉지를 들고 가려고 한다. 예를 들어, 18킬로그램 설탕을 배달해야 할 때, 3킬로그램 봉지 6개를 가져가도 되지만, 5킬로그램 3개와 3킬로그램 1개를 배달하면, 더 적은 개수의 봉지를 배달할 수 www.acmicpc.net 설명 최대한 많이 5kg 설탕 봉지를 사용해야 하는 문제입니다. 그렇기 때문에 N이 5의 배수라면 5로 나눈 몫을 출력하면 되고,..

PS/BOJ 2020.03.07
반응형