백준/백준 단계별 문제풀이 74

백준 2292번 (C++)

www.acmicpc.net/problem/2292 2292번: 벌집 위의 그림과 같이 육각형으로 이루어진 벌집이 있다. 그림에서 보는 바와 같이 중앙의 방 1부터 시작해서 이웃하는 방에 돌아가면서 1씩 증가하는 번호를 주소로 매길 수 있다. 숫자 N이 주어졌�� www.acmicpc.net #include using namespace std; int main() { int n; int i = 0; int result = 1; int temp = 0; cin>>n; temp = n-1; if(n == 0) cout

백준 2839번 (C++)

www.acmicpc.net/problem/2839 2839번: 설탕 배달 문제 상근이는 요즘 설탕공장에서 설탕을 배달하고 있다. 상근이는 지금 사탕가게에 설탕을 정확하게 N킬로그램을 배달해야 한다. 설탕공장에서 만드는 설탕은 봉지에 담겨져 있다. 봉지는 3킬� www.acmicpc.net #include using namespace std; int main() { int n; int count3 = 0, count5 = 0; int rest; bool find = false; cin>>n; count5 = n/5; rest = n%5; if(rest == 0) cout

백준 1712번 (C++)

www.acmicpc.net/problem/1712 1712번: 손익분기점 월드전자는 노트북을 제조하고 판매하는 회사이다. 노트북 판매 대수에 상관없이 매년 임대료, 재산세, 보험료, 급여 등 A만원의 고정 비용이 들며, 한 대의 노트북을 생산하는 데에는 재료비와 www.acmicpc.net #include using namespace std; int main() { int a,b,c; cin>>a>>b>>c; //a + (b*n) a //n > a / (c-b) if(c-b

백준 1316번 (C++)

www.acmicpc.net/problem/1316 1316번: 그룹 단어 체커 그룹 단어란 단어에 존재하는 모든 문자에 대해서, 각 문자가 연속해서 나타나는 경우만을 말한다. 예를 들면, ccazzzzbb는 c, a, z, b가 모두 연속해서 나타나고, kin도 k, i, n이 연속해서 나타나기 때� www.acmicpc.net #include using namespace std; int main() { int n; int count[26] = {0}; string input; int index; bool result = true; int countResult = 0; cin>>n; for(int j=0; j>input; for(int i=0; i

백준 2941번 (C++)

www.acmicpc.net/problem/2941 2941번: 크로아티아 알파벳 문제 예전에는 운영체제에서 크로아티아 알파벳을 입력할 수가 없었다. 따라서, 다음과 같이 크로아티아 알파벳을 변경해서 입력했다. 크로아티아 알파벳 변경 č c= ć c- dž dz= đ d- lj lj nj nj š s= www.acmicpc.net #include using namespace std; int main() { string input; string temp; int count = 0; int i = 0; cin>>input; while(i

백준 5622번 (C++)

www.acmicpc.net/problem/5622 5622번: 다이얼 문제 상근이의 할머니는 아래 그림과 같이 오래된 다이얼 전화기를 사용한다. 전화를 걸고 싶은 번호가 있다면, 숫자를 하나를 누른 다음에 금속 핀이 있는 곳 까지 시계방향으로 돌려야 한다. � www.acmicpc.net #include using namespace std; int main() { //문자열 입력 -> 문자나누기 -> 해당되는 시간초 증가 string input; int count = 0; char temp; cin>>input; for(int i=0; i

백준 2908번 (C++)

www.acmicpc.net/problem/2908 2908번: 상수 문제 상근이의 동생 상수는 수학을 정말 못한다. 상수는 숫자를 읽는데 문제가 있다. 이렇게 수학을 못하는 상수를 위해서 상근이는 수의 크기를 비교하는 문제를 내주었다. 상근이는 세 자리 �� www.acmicpc.net #include using namespace std; int main() { int num1, num2; int after1, after2; cin>>num1>>num2; after1 = (num1%10)*100 + (num1/10%10)*10 + (num1/100); after2 = (num2%10)*100 + (num2/10%10)*10 + (num2/100); if(after1 > after2) cout

백준 1152번 (C++)

www.acmicpc.net/problem/1152 1152번: 단어의 개수 첫 줄에 영어 대소문자와 띄어쓰기로 이루어진 문자열이 주어진다. 이 문자열의 길이는 1,000,000을 넘지 않는다. 단어는 띄어쓰기 한 개로 구분되며, 공백이 연속해서 나오는 경우는 없다. 또한 � www.acmicpc.net #include using namespace std; int main() { int count = 0; string input; getline(cin, input); for(int i=0; i

백준 1157번 (C++)

www.acmicpc.net/problem/1157 1157번: 단어 공부 알파벳 대소문자로 된 단어가 주어지면, 이 단어에서 가장 많이 사용된 알파벳이 무엇인지 알아내는 프로그램을 작성하시오. 단, 대문자와 소문자를 구분하지 않는다. www.acmicpc.net #include using namespace std; int main() { int count[26] = {0}; int temp, max = 0; int maxCount = 0; int index = 0; //Z : 90 string input; cin>>input; for(int i=0; i 90) { count[temp-97]++; if(count[temp-97] > max) max = count[temp-97]; } //대문자 else ..

백준 2675번 (C++)

www.acmicpc.net/problem/2675 2675번: 문자열 반복 문제 문자열 S를 입력받은 후에, 각 문자를 R번 반복해 새 문자열 P를 만든 후 출력하는 프로그램을 작성하시오. 즉, 첫 번째 문자를 R번 반복하고, 두 번째 문자를 R번 반복하는 식으로 P를 만들면 www.acmicpc.net #include using namespace std; int main() { int t,r; string input; cin>>t; while(t>0) { cin>>r; cin>>input; for(int i=0; i

백준 10809번 (C++)

www.acmicpc.net/problem/10809 10809번: 알파벳 찾기 각각의 알파벳에 대해서, a가 처음 등장하는 위치, b가 처음 등장하는 위치, ... z가 처음 등장하는 위치를 공백으로 구분해서 출력한다. 만약, 어떤 알파벳이 단어에 포함되어 있지 않다면 -1을 출 www.acmicpc.net #include using namespace std; int main() { int resultArray[26]; for(int i=0; i>input; for(int i=0; i

백준 1065번 (C++)

www.acmicpc.net/problem/1065 1065번: 한수 어떤 양의 정수 X의 각 자리가 등차수열을 이룬다면, 그 수를 한수라고 한다. 등차수열은 연속된 두 개의 수의 차이가 일정한 수열을 말한다. N이 주어졌을 때, 1보다 크거나 같고, N보다 작거나 �� www.acmicpc.net #include using namespace std; bool oneNumber(int n) { if(n>99) { int first = n%10; int second = n/10%10; int term1 = first-second; int term2; n = n/10; while(n > 9) { first = n%10; second = n/10%10; term2 = first-second; if(term1 ..

백준 4673번 (C++)

www.acmicpc.net/problem/4673 4673번: 셀프 넘버 문제 셀프 넘버는 1949년 인도 수학자 D.R. Kaprekar가 이름 붙였다. 양의 정수 n에 대해서 d(n)을 n과 n의 각 자리수를 더하는 함수라고 정의하자. 예를 들어, d(75) = 75+7+5 = 87이다. 양의 정수 n이 주어졌� www.acmicpc.net #include using namespace std; int d(int n) { int result = n; while(n != 0) { result += n%10; n = n/10; } return result; } int main() { bool boolArray[10001] = {false}; int inx; for(int i=1; i