BOJ
[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..
[BOJ/백준] 2675번 문자열 반복 C++ 문제 풀이
단계별로 풀어보기 - 문자열 - [4단계] 2675번 문제 문제 링크 : www.acmicpc.net/problem/2675 2675번: 문자열 반복 문자열 S를 입력받은 후에, 각 문자를 R번 반복해 새 문자열 P를 만든 후 출력하는 프로그램을 작성하시오. 즉, 첫 번째 문자를 R번 반복하고, 두 번째 문자를 R번 반복하는 식으로 P를 만들면 된다 www.acmicpc.net 입력 복사 : 2 3 ABC 5 /HTP 풀이 입력 받은 문자열에서 각 문자를 반복하는 for문을 작성했습니다. 반복하는 횟수는 각 줄에서 입력 받은 r번! CODE #include #include using namespace std; int main() { int t; scanf("%d", &t); for (int i = 0; ..