Baekjoon
[BOJ/백준] 1193번 분수찾기 C++ 문제 풀이
단계별로 풀어보기 - 수학 1 단계 - [4단계] 1193번 문제 문제 링크 : www.acmicpc.net/problem/1193 1193번: 분수찾기 첫째 줄에 X(1 ≤ X ≤ 10,000,000)가 주어진다. www.acmicpc.net 입력 복사 : 14 풀이 위 그림은 각 분수의 분자가 대각선 상에서 증가하는 방향을 표시했습니다. 그림과 같은 방향으로 i번째 대각선에서는 i까지 분자가 증가합니다. 분자는 홀수번째 대각선에서 아래로 증가, 짝수번째 대각선에서 위로 증가하고 있습니다. 분모는 분자의 반대 방향으로 이루어져 있어서, 분자를 구한 후, i+1에서 분자를 뺀 값을 분모로 사용할 수 있습니다. i번째 대각선에는 i개의 원소가 있으므로, N이 몇번째 대각선에 있는지 파악하기 위해 i를 순차..
[BOJ/백준] 2292번 벌집 C++ 문제 풀이
단계별로 풀어보기 - 수학 1 단계 - [3단계] 2292번 문제 문제 링크 : www.acmicpc.net/problem/2292 2292번: 벌집 위의 그림과 같이 육각형으로 이루어진 벌집이 있다. 그림에서 보는 바와 같이 중앙의 방 1부터 시작해서 이웃하는 방에 돌아가면서 1씩 증가하는 번호를 주소로 매길 수 있다. 숫자 N이 주어졌 www.acmicpc.net 입력 복사 : 13 풀이 왼쪽 그림에서 처음 출발하는 1의 위치를 첫번째 육각형이라고 할때, N이 위치한 육각형이 중앙으로부터 몇번째 육각형인지가 정답이라고 할 수 있다. 중앙에서부터 N까지 직선으로 이웃하는 방을 지나갈 때, 지나간 육각형 수만큼 최소 개수의 방을 거쳤다고 할 수 있기 때문이다. 왼쪽 그림에서 노란색으로 표시한 숫자들처럼 ..
[BOJ/백준] 2839번 설탕 배달 C++ 문제 풀이
단계별로 풀어보기 - 수학 1 단계 - [2단계] 2839번 문제 문제 링크 : www.acmicpc.net/problem/2839 2839번: 설탕 배달 상근이는 요즘 설탕공장에서 설탕을 배달하고 있다. 상근이는 지금 사탕가게에 설탕을 정확하게 N킬로그램을 배달해야 한다. 설탕공장에서 만드는 설탕은 봉지에 담겨져 있다. 봉지는 3킬로그 www.acmicpc.net 입력 복사 : > 예제 입력 1 18 > 예제 입력 2 4 > 예제 입력 3 6 > 예제 입력 4 9 > 예제 입력 5 11 풀이 최소의 봉지로 배달하기 위해서는 5kg짜리 봉지를 최대한 활용해야 한다. 따라서 5kg짜리 봉지를 최대로 활용하는 횟수를 시작으로 한다. 5kg를 활용한 횟수를 뺀 N이 3kg으로 나눠지면, 바로 정답을 출력합니다..
[BOJ/백준] 1712번 손익분기점 C++ 문제 풀이
단계별로 풀어보기 - 수학 1 단계 - [1단계] 1712번 문제 문제 링크 : www.acmicpc.net/problem/1712 1712번: 손익분기점 월드전자는 노트북을 제조하고 판매하는 회사이다. 노트북 판매 대수에 상관없이 매년 임대료, 재산세, 보험료, 급여 등 A만원의 고정 비용이 들며, 한 대의 노트북을 생산하는 데에는 재료비와 www.acmicpc.net 입력 복사 : 1000 70 170 CODE #include int main() { int A, B, C; scanf("%d %d %d", &A, &B, &C); if (B >= C) { printf("-1"); return 0; } else { printf("%d", A / (C - B) + 1); } return 0; } 결과
[BOJ/백준] 1316번 그룹 단어 체커 C++ 문제 풀이
단계별로 풀어보기 - 문자열 - [10단계] 1316번 문제 문제 링크 : www.acmicpc.net/problem/1316 1316번: 그룹 단어 체커 그룹 단어란 단어에 존재하는 모든 문자에 대해서, 각 문자가 연속해서 나타나는 경우만을 말한다. 예를 들면, ccazzzzbb는 c, a, z, b가 모두 연속해서 나타나고, kin도 k, i, n이 연속해서 나타나기 때 www.acmicpc.net 입력 복사 : > 예제 입력 1 3 happy new year > 예제 입력 2 4 aba abab abcabc a CODE #include #include #include using namespace std; int main() { int n; scanf("%d", &n); string str; int ..
[BOJ/백준] 2941번 크로아티아 알파벳 C++ 문제 풀이
단계별로 풀어보기 - 문자열 - [9단계] 2941번 문제 문제 링크 : www.acmicpc.net/problem/2941 2941번: 크로아티아 알파벳 예전에는 운영체제에서 크로아티아 알파벳을 입력할 수가 없었다. 따라서, 다음과 같이 크로아티아 알파벳을 변경해서 입력했다. 크로아티아 알파벳 변경 č c= ć c- dž dz= đ d- lj lj nj nj š s= ž z= www.acmicpc.net 입력 복사 : > 예제 입력 1 ljes=njak > 예제 입력 2 ddz=z= > 예제 입력 3 nljj > 예제 입력 4 c=c= CODE #include #include #include using namespace std; int main() { string str; cin >> str; int ..
[BOJ/백준] 5622번 다이얼 C++ 문제 풀이
단계별로 풀어보기 - 문자열 - [8단계] 5622번 문제 문제 링크 : www.acmicpc.net/problem/5622 5622번: 다이얼 첫째 줄에 알파벳 대문자로 이루어진 단어가 주어진다. 단어는 2글자~15글자로 이루어져 있다. www.acmicpc.net 입력 복사 : UNUCIC CODE #include #include #include using namespace std; int main() { string str; cin >> str; int num = 0; for (int i = 0; i = 'A'&&str.at(i) = 'D'&&str.at(i) = 'G'&&str.at(i) = 'J'&&str.at(i) = 'M'&..
[BOJ/백준] 2908번 상수 C++ 문제 풀이
단계별로 풀어보기 - 문자열 - [7단계] 2908번 문제 문제 링크 : www.acmicpc.net/problem/2908 2908번: 상수 상근이의 동생 상수는 수학을 정말 못한다. 상수는 숫자를 읽는데 문제가 있다. 이렇게 수학을 못하는 상수를 위해서 상근이는 수의 크기를 비교하는 문제를 내주었다. 상근이는 세 자리 수 두 www.acmicpc.net 입력 복사 : 734 893 CODE #include #include #include using namespace std; int main() { int a, b; scanf("%d %d", &a, &b); int reva = 0, revb = 0; reva += (a % 10)*100; reva += (a % 100 - a % 10); reva +=..
[BOJ/백준] 1152번 단어의 개수 C++ 문제 풀이
단계별로 풀어보기 - 문자열 - [6단계] 1152번 문제 문제 링크 : www.acmicpc.net/problem/1152 1152번: 단어의 개수 첫 줄에 영어 대소문자와 띄어쓰기로 이루어진 문자열이 주어진다. 이 문자열의 길이는 1,000,000을 넘지 않는다. 단어는 띄어쓰기 한 개로 구분되며, 공백이 연속해서 나오는 경우는 없다. 또한 www.acmicpc.net 입력 복사 : > 예제 입력 1 The Curious Case of Benjamin Button > 예제 입력 2 Mazatneunde Wae Teullyeoyo > 예제 입력 3 Teullinika Teullyeotzi CODE #include #include #include using namespace std; int main() ..
[BOJ/백준] 1157번 단어 공부 C++ 문제 풀이
단계별로 풀어보기 - 문자열 - [5단계] 1157번 문제 문제 링크 : www.acmicpc.net/problem/1157 1157번: 단어 공부 알파벳 대소문자로 된 단어가 주어지면, 이 단어에서 가장 많이 사용된 알파벳이 무엇인지 알아내는 프로그램을 작성하시오. 단, 대문자와 소문자를 구분하지 않는다. www.acmicpc.net 입력 복사 : > 예제 입력 1 Mississipi > 예제 입력 2 zZa > 예제 입력 3 z > 예제 입력 4 baaa CODE #include #include #include using namespace std; int main() { string str; int alpha[26] = { 0 }; int len, max = 0, maxalpha = 0, multia..