반응형

BOJ 248

[백준 / BOJ] C++ 16922 로마 숫자 만들기

16922번: 로마 숫자 만들기 문제https://www.acmicpc.net/problem/16922풀이I, V, X, L 네 가지 문자를 N개 사용해 만들 수 있는 조합을 구하면 된다. 단, 각 문자가 의미하는 수가 있고 이 합이 중복되는 경우를 제거해야 한다. 이유는 IXI와 IIX를 같은 12로 보기 때문이다.백트래킹으로 가능한 경우의 수를 모두 만들어보며 visited 배열을 사용해 이미 센 수인지 확인한다. 1, 5, 10, 50 순으로 조합해 보되 예를들어 4가지 문자를 조합하는 경우 1, 1, 1, 5와 1, 1, 5, 1은 같기 때문에 이미 3번째에 5를 고른 경우엔 4번째에 1을 고를 필요가 없어진다. 따라서 5부터만 확인한다.코드#include using namespace std;#d..

Problem Solving/BOJ 2024.07.21

[백준 / BOJ] C++ 20206 푸앙이가 길을 건너간 이유

20206번: 푸앙이가 길을 건너간 이유 문제 https://www.acmicpc.net/problem/20206 20206번: 푸앙이가 길을 건너간 이유 첫째 줄에는 정수 A, B, C (-10,000 ≤ A, B ≤ 10,000, -100,000 ≤ C ≤ 100,000)가 주어진다. 해당 숫자들은 좌표 평면 상에서 Ax+By+C=0 형태로 표현되는 푸앙이가 지나가는 직선 상의 경로을 나타낸다. (단 www.acmicpc.net 풀이 Ax+By+C=0 형태의 표현되는 직선 상의 경로가 직사각형을 통과하는지 여부를 묻는 문제입니다. Ax+By≤-C 또는 Ax+By≥-C로 식을 바꾸어 생각해야합니다. 문제에서 테두리 위로만 지나가는 경우는 위험지역을 통과하지 않는 것으로 간주한다고 했으므로 등호를 포함해..

Problem Solving/BOJ 2023.09.30

[백준 / BOJ] C++ 14715 전생했더니 슬라임 연구자였던 건에 대하여 (Easy)

14715번: 전생했더니 슬라임 연구자였던 건에 대하여 (Easy) 문제 https://www.acmicpc.net/problem/14715 14715번: 전생했더니 슬라임 연구자였던 건에 대하여 (Easy) 첫 번째 줄에 처음 주어진 슬라임의 에너지 K (2 ≤ K ≤ 1, 000, 000) 가 주어진다. www.acmicpc.net 풀이 간단한 정수론 문제입니다. K = A × B 형태로만 분할할 수 있으므로 최종적인 형태는 소인수분해된 형태임을 예측할 수 있습니다. 즉, K가 100일 때, 100 = 2^2 × 5^2 이므로 4개의 소인수로 분해됩니다. 이 문제는 흠집이 제일 많이 생긴 슬라임의 흠집 개수의 최소를 구하는 문제입니다. 흠집을 최소화하기 위해선 가능한한 완전 이진 트리 형태로 분할하는..

Problem Solving/BOJ 2023.09.29

[백준 / BOJ] C++ 15925 욱제는 정치쟁이야!!

15925번: 욱제는 정치쟁이야!! 문제 https://www.acmicpc.net/problem/15925 15925번: 욱제는 정치쟁이야!! 첫째 줄에 각 줄의 컴퓨터 개수 N과 이후의 컴퓨터실 사용 여부가 하나의 공백을 사이에 두고 주어진다. 사용 여부는 사용시 1, 미사용시 0으로 주어진다. (1 ≤ N ≤ 31, N % 2 == 1) 이후 둘째 줄부터 www.acmicpc.net 풀이 브루트포스 문제로 O(N^2)으로 해결가능합니다. 사용 여부를 x라고 할 때, 한 행 또는 열에서 x가 N/2개 이상이면 모두 x로 바꿉니다. 문제의 예제 입력 1을 예로 들어 설명해보겠습니다. 5 0 0 0 0 1 1 1 1 0 1 1 0 1 0 0 0 0 1 1 1 0 1 0 1 1 1 일 때, 행부터 먼저 모..

Problem Solving/BOJ 2023.09.28

[백준 / BOJ] C++ 24265 알고리즘 수업 - 알고리즘의 수행 시간 4

24265번: 알고리즘 수업 - 알고리즘의 수행 시간 4 문제 https://www.acmicpc.net/problem/24265 24265번: 알고리즘 수업 - 알고리즘의 수행 시간 4 오늘도 서준이는 알고리즘의 수행시간 수업 조교를 하고 있다. 아빠가 수업한 내용을 학생들이 잘 이해했는지 문제를 통해서 확인해보자. 입력의 크기 n이 주어지면 MenOfPassion 알고리즘 수행 시 www.acmicpc.net 풀이 MenOfPassion 함수는 어떤 n에 대해서 i=1~n-1까지 총 n-1번 반복되는 for문을 수행합니다. 이 for문 내부에선 j=i+1~n까지 총 n-i번 반복되는 for문을 수행합니다. 이중 for문 내부의 코드는 i=1일 때 j=2~n, i=2일 때 j=3~n, ... , i=n..

Problem Solving/BOJ 2023.09.14

[백준 / BOJ] C++ 24264 알고리즘 수업 - 알고리즘의 수행 시간 3

24264번: 알고리즘 수업 - 알고리즘의 수행 시간 3 문제 https://www.acmicpc.net/problem/24264 24264번: 알고리즘 수업 - 알고리즘의 수행 시간 3 오늘도 서준이는 알고리즘의 수행시간 수업 조교를 하고 있다. 아빠가 수업한 내용을 학생들이 잘 이해했는지 문제를 통해서 확인해보자. 입력의 크기 n이 주어지면 MenOfPassion 알고리즘 수행 시 www.acmicpc.net 풀이 MenOfPassion 함수는 어떤 n에 대해서 n회 반복되는 for문을 수행합니다. 이 for문 안에서 다시 n회 반복되는 for문을 수행합니다. 따라서 이중 for문 안의 코드1은 n^2번 수행됩니다. 수행 횟수를 다항식으로 나타내었을 때, 최고차항의 차수는 2입니다. 코드 #inclu..

Problem Solving/BOJ 2023.09.14

[백준 / BOJ] C++ 24263 알고리즘 수업 - 알고리즘의 수행 시간 2

24263번: 알고리즘 수업 - 알고리즘의 수행 시간 2 문제 https://www.acmicpc.net/problem/24263 24263번: 알고리즘 수업 - 알고리즘의 수행 시간 2 오늘도 서준이는 알고리즘의 수행시간 수업 조교를 하고 있다. 아빠가 수업한 내용을 학생들이 잘 이해했는지 문제를 통해서 확인해보자. 입력의 크기 n이 주어지면 MenOfPassion 알고리즘 수행 시 www.acmicpc.net 풀이 MenOfPassion 함수는 어떤 n에 대해서 n회 반복되는 for문을 수행합니다. for문 안의 코드1은 n번 수행됩니다. 따라서 코드1의 수행 횟수는 입력받은 n과 같은 값을, 수행 횟수를 다항식으로 나타내었을 때, 최고차항의 차수는 1입니다. 코드 #include using name..

Problem Solving/BOJ 2023.09.14

[백준 / BOJ] C++ 24262 알고리즘 수업 - 알고리즘의 수행 시간 1

24262번: 알고리즘 수업 - 알고리즘의 수행 시간 1 문제 https://www.acmicpc.net/problem/24262 24262번: 알고리즘 수업 - 알고리즘의 수행 시간 1 오늘도 서준이는 알고리즘의 수행시간 수업 조교를 하고 있다. 아빠가 수업한 내용을 학생들이 잘 이해했는지 문제를 통해서 확인해보자. 입력의 크기 n이 주어지면 MenOfPassion 알고리즘 수행 시 www.acmicpc.net 풀이 MenOfPassion 함수는 어떤 n에 대해서 항상 1번만 return 합니다. 따라서 수행 횟수는 1, 최고차항의 차수는 0입니다. 코드 #include using namespace std; int main() { int a; cin >> a; cout

Problem Solving/BOJ 2023.09.14

[백준 / BOJ] C++ 29767 점수를 최대로

29767번: 점수를 최대로 문제 https://www.acmicpc.net/problem/29767 29767번: 점수를 최대로 단대소프트고에는 교실 $N$개가 있다. 교실은 $1$번부터 $N$번까지 $1, 2, \ldots, N$ 순서로 연달아 있다. 학교 밖에는 $K$명의 학생들이 있다. $K$명의 학생은 학교에 들어가기 전 학생마다 목적지 교실 www.acmicpc.net 풀이 목적지 i번 교실에 도착하면 1~i번 방의 점수를 얻습니다. 즉, 누적합 배열로 i번 교실을 목표로 했을 시 얻는 점수를 저장합니다. K명의 학생들은 서로 다른 목적지를 가지므로 누적합 배열을 내림차순 정렬하고 앞에서부터 K개 원소의 합을 출력하면 됩니다. 코드 #include using namespace std; #def..

Problem Solving/BOJ 2023.09.13

[백준 / BOJ] C++ 29766 DKSH 찾기

29766번: DKSH 찾기 문제 https://www.acmicpc.net/problem/29766 29766번: DKSH 찾기 첫째 줄에 문자열이 입력된다. 문자열의 길이는 $1\,000$을 넘지 않는다. www.acmicpc.net 풀이 입력받은 문자열의 i(0 ~ N-1)인덱스 부터 4글자씩 비교하며 DKSH가 나올 때마다 개수를 세면 됩니다. 코드 #include using namespace std; int main() { ios::sync_with_stdio(0); cin.tie(0); string s, a = "DKSH"; int cnt = 0; cin >> s; for (int i = 0; i < s.size(); i++) { int flag = 0; for (int j = 0; j < 4..

Problem Solving/BOJ 2023.09.13
반응형