백준(9)
-
[BOJ] 9663번 | N-Queen (C++)
🔗문제 보러가기 9663번: N-Queen N-Queen 문제는 크기가 N × N인 체스판 위에 퀸 N개를 서로 공격할 수 없게 놓는 문제이다. N이 주어졌을 때, 퀸을 놓는 방법의 수를 구하는 프로그램을 작성하시오. www.acmicpc.net 문제 설명 N-Queen 문제는 크기가 N × N인 체스판 위에 퀸 N개를 서로 공격할 수 없게 놓는 문제이다. N이 주어졌을 때, 퀸을 놓는 방법의 수를 구하는 프로그램을 작성하시오. 입력 첫째 줄에 N이 주어진다. (1 ≤ N < 15) 출력 첫째 줄에 퀸 N개를 서로 공격할 수 없게 놓는 경우의 수를 출력한다. 예제 입출력 풀이 전략 \( N \times N\) 체스판에서 퀸이 서로 공격을 하지 못하게 놓는 경우의 수를 구하는 문제입니다. 퀸은 자신이 놓인..
2023.05.01 -
[BOJ] 10757번 | 큰 수 A+B (C++)
🔗문제 보러가기 문제 설명 두 정수 A와 B를 입력받은 다음, A+B를 출력하는 프로그램을 작성하시오. 입력 첫째 줄에 A와 B가 주어진다. (0 < A,B < 1010000) 출력 첫째 줄에 A+B를 출력한다. 예제 입출력 풀이 전략 입력 범위가 보시다시피, 말도 안 되게 큰 숫자입니다. Java는 BigInteger 클래스가, Python은 심지어 그냥 해도 되는데, C++은 왜 안 돼요...? unsigned long long 자료형으로도 커버할 수 없다고 판단하여, 문자열(string)로 처리하여 풀어야겠다 생각했습니다. 주의해야 할 사항은 다음과 같습니다. 두 수의 가장 뒷자리부터 서로 더하되, carry 처리를 잘해줘야 한다. (매우 중요) 두 수의 자릿수가 서로 다를 경우, 더 긴 수의 앞 ..
2023.04.08 -
[BOJ] 11404번 | 플로이드 (Python3)
🔗문제 보러가기 11404번: 플로이드 첫째 줄에 도시의 개수 n이 주어지고 둘째 줄에는 버스의 개수 m이 주어진다. 그리고 셋째 줄부터 m+2줄까지 다음과 같은 버스의 정보가 주어진다. 먼저 처음에는 그 버스의 출발 도시의 번호가 www.acmicpc.net 문제 설명 n(2 ≤ n ≤ 100)개의 도시가 있다. 그리고 한 도시에서 출발하여 다른 도시에 도착하는 m(1 ≤ m ≤ 100,000)개의 버스가 있다. 각 버스는 한 번 사용할 때 필요한 비용이 있다. 모든 도시의 쌍 (A, B)에 대해서 도시 A에서 B로 가는데 필요한 비용의 최솟값을 구하는 프로그램을 작성하시오. 입력 첫째 줄에 도시의 개수 n이 주어지고 둘째 줄에는 버스의 개수 m이 주어진다. 그리고 셋째 줄부터 m+2줄까지 다음과 같은..
2022.09.15 -
[BOJ] 1789번 | 수들의 합 (Python3)
문제 살펴보기 1789번 | 수들의 합 (Python3) 나름 고민해서 풀었는데, 다른 사람들은 어떻게 풀었나 보다가 현타가 왔습니다. 고등학교 수학 풀 때 많이 봤던 1부터 n까지의 합계 공식을 이용할 생각을 못했었네요. 위의 식을 이용하면 훨씬 간단하게 풀 수 있었네요. 문제가 원하는 답변은 개수지, 어떤 수들의 조합이 아닌데 거기에 너무 집중했었나 봅니다. 부끄럽지만 그래도 제 코드는 남겨 놓겠습니다. 소스코드 S = int(input()) def Solution(S): cumulativeSum = 0 N = 0 num = 1 while True: cumulativeSum += num remainedAMount = S - cumulativeSum if remainedAMount == 0: N += ..
2022.07.18 -
[BOJ] 2217번 | 로프 (Python3)
🔗문제 보러가기 2217번: 로프 N(1 ≤ N ≤ 100,000)개의 로프가 있다. 이 로프를 이용하여 이런 저런 물체를 들어올릴 수 있다. 각각의 로프는 그 굵기나 길이가 다르기 때문에 들 수 있는 물체의 중량이 서로 다를 수도 있다. 하 www.acmicpc.net 문제 설명 N(1 ≤ N ≤ 100,000)개의 로프가 있다. 이 로프를 이용하여 이런 저런 물체를 들어올릴 수 있다. 각각의 로프는 그 굵기나 길이가 다르기 때문에 들 수 있는 물체의 중량이 서로 다를 수도 있다. 하지만 여러 개의 로프를 병렬로 연결하면 각각의 로프에 걸리는 중량을 나눌 수 있다. k개의 로프를 사용하여 중량이 w인 물체를 들어올릴 때, 각각의 로프에는 모두 고르게 w/k 만큼의 중량이 걸리게 된다. 각 로프들에 대한..
2022.07.14 -
[BOJ] 5585번 | 거스름돈 (Python3)
🔗문제 보러가기 5585번: 거스름돈 타로는 자주 JOI잡화점에서 물건을 산다. JOI잡화점에는 잔돈으로 500엔, 100엔, 50엔, 10엔, 5엔, 1엔이 충분히 있고, 언제나 거스름돈 개수가 가장 적게 잔돈을 준다. 타로가 JOI잡화점에서 물건을 사 www.acmicpc.net 문제 설명 타로는 자주 JOI잡화점에서 물건을 산다. JOI잡화점에는 잔돈으로 500엔, 100엔, 50엔, 10엔, 5엔, 1엔이 충분히 있고, 언제나 거스름돈 개수가 가장 적게 잔돈을 준다. 타로가 JOI잡화점에서 물건을 사고 카운터에서 1000엔 지폐를 한장 냈을 때, 받을 잔돈에 포함된 잔돈의 개수를 구하는 프로그램을 작성하시오. 입력 입력은 한줄로 이루어져있고, 타로가 지불할 돈(1 이상 1000미만의 정수) 1개가..
2022.07.13