All
[C++ 백준] 2292 벌집
[C++ 백준] 2292 벌집
2021.05.25블로그에 올리는 모든 문제 풀이는 깃허브에 올려져 있습니다. 문제 설명 위의 그림과 같이 육각형으로 이루어진 벌집이 있다. 중앙의 방 1부터 시작해서 이웃하는 방에 돌아가면서 1씩 증가하는 번호를 주소로 매길 수 있다. 숫자 N이 주어졌을 때, 벌집의 중앙 1에서 N번 방까지 최소 개수의 방을 지나서 갈 때 몇 개의 방을 지나가는지(시작과 끝을 포함하여) 계산하는 프로그램을 작성하시오. (ex. 13 -> 3개, 58 -> 5개) 첫째줄에 N(1
[C++ 백준] 1085 직사각형에서 탈출
[C++ 백준] 1085 직사각형에서 탈출
2021.05.24블로그에 올리는 모든 문제 풀이는 깃허브에 올려져 있습니다. 문제 설명 직사각형의 왼쪽 아래 꼭짓점은 (0, 0)에 있고, 오른쪽 위 꼭짓점은 (w, h)에 있다. 이때, 임의의 점 (x, y)에서 직사각형의 경계선까지 가는 거리의 최솟값을 구하는 프로그램을 작성하시오. 첫째줄에 x, y, w, h가 주어진다. 풀이 전략 입력받은 값들을 비교해서 최솟값을 출력 소스 코드 #include using namespace std; int main() { int x, y, w, h; cin >> x >> y >> w >> h; int x1 = w - x; int y1 = h - y; x1 = x >= x1 ? x1 : x; y1 = y >= y1 ? y1 : y; if (x1 > y1) cout
[C++ 백준] 2775 부녀회장이 될테야
[C++ 백준] 2775 부녀회장이 될테야
2021.05.23블로그에 올리는 모든 문제 풀이는 깃허브에 올려져 있습니다. 문제 설명 a층의 b호에 살려면 (a-1) 층의 1호부터 b호까지 사람들의 수의 합만큼 사람들을 데려와 살아야 한다는 규칙이 있다. 첫째줄에 테스트 케이스의 수 t가 주어지며, 각각의 케이스마다 k층의 n호에는 몇 명이 살고 있는지 구하는 프로그램을 작성하시오. (단, 아파트는 0층부터 있고 각층에는 1호부터 있으며, 0층의 i호에는 i명이 산다.) 풀이 전략 k층의 n호는 k-1층의 n호와 k층의 n-1호의 합과 같다. 0층일 경우 n호에 n명 살고 있으므로 n을 리턴 소스 코드 #include using namespace std; int GetCount(int k, int n) { if (n == 1) return 1; if (k == 0)..
[C++ 백준] 1193 분수 찾기
[C++ 백준] 1193 분수 찾기
2021.05.22블로그에 올리는 모든 문제 풀이는 깃허브에 올려져 있습니다. 문제 설명 나열된 분수들을 1/1->1/2->2/1->3/1->2/2->... 과 같은 지그재그 순서로 차례대로 1번, 2번, 3번, 4번, 5번, ... 분수라고 한다. 첫째 줄에 X(1 x; int i = 0; while (x > 0) { ++i; x -= i; } if (i % 2 == 1) cout
[C++ 백준] 1152 단어의 개수
[C++ 백준] 1152 단어의 개수
2021.05.18블로그에 올리는 모든 문제 풀이는 깃허브에 올려져 있습니다. 문제 설명 첫 줄에 영어 대소문자와 띄어쓰기로 이루어진 문자열이 주어진다. (이 문자열의 길이는 1,000,000을 넘지 않는다.) 단어는 띄어쓰기 한 개로 구분되며, 문자열의 앞과 뒤에는 공백이 있을 수도 있다. 단어의 개수를 출력하는 프로그램을 작성하시오. (단, 한 단어가 여러 번 등장하면 모두 세어야 한다.) 풀이 전략 띄어쓰기 입력을 받기 위해 getline() 사용 공백을 기준으로 새 단어가 나왔을 때 카운트 증가 소스 코드 #include #include using namespace std; int main() { int result = 0; bool flag = false; string str; getline(cin, str); ..
[C++ 백준] 1316 그룹 단어 체커
[C++ 백준] 1316 그룹 단어 체커
2021.05.16블로그에 올리는 모든 문제 풀이는 깃허브에 올려져 있습니다. 문제 설명 그룹 단어: 단어에 존재하는 모든 문자에 대해서, 각 문자가 연속해서 나타나는 경우 ex) ccazzzzbb -> 그룹 단어, kin -> 그룹 단어, aabbbccb -> 그룹 단어 아님 단어 N개를 입력받아 그룹 단어의 개수를 출력하는 프로그램을 작성하시오. (단, N > count; for (int i = 0; i > str; if (IsCheak(str)) ++result; } cout
[C++ 백준] 2908 상수
[C++ 백준] 2908 상수
2021.05.15블로그에 올리는 모든 문제 풀이는 깃허브에 올려져 있습니다. 문제 설명 수를 거꾸로 읽었을 때(ex.734, 893 -> 437, 398), 큰 수를 출력하는 프로그램을 작성하시오. (두 수는 같지 않은 세 자릿수이며, 0이 포함되어 있지 않다.) 풀이 전략 두 수 비교 시 끝에 자릿수부터 비교 출력 시 뒤에서부터 앞으로 출력 소스 코드 #include #include using namespace std; int main() { string a, b, result; cin >> a >> b; for (int i = 2; i>=0;i--) { if (a[i] == b[i]) continue; if (a[i] > b[i]) result = a; else result = b; break; } cout
[C++ 백준] 5622 다이얼
[C++ 백준] 5622 다이얼
2021.05.14블로그에 올리는 모든 문제 풀이는 깃허브에 올려져 있습니다. 문제 설명 전화를 걸 때, 숫자 1은 2초의 시간이 필요하며, 한 칸 옆에 있는 숫자를 걸기 위해선 1초씩 추가된다. 첫째 줄에 알파벳 대문자로 이루어진 단어가 주어진다. (단어의 길이는 2보다 크거나 같고, 15보다 적거나 같다.) 각 문자를 숫자에 대응했을 때, 이 전화를 걸기 위해서 필요한 최소 시간을 구하는 프로그램을 작성하시오. 풀이 전략 각 문자가 입력받는데 걸리는 시간을 배열에 저장 후 계산 소스 코드 #include #include using namespace std; int main() { int times[] = { 3,3,3,4,4,4,5,5,5,6,6,6,7,7,7,8,8,8,8,9,9,9,10,10,10,10 }; int..
[C++ 백준] 2675 문자열 반복
[C++ 백준] 2675 문자열 반복
2021.05.12블로그에 올리는 모든 문제 풀이는 깃허브에 올려져 있습니다. 문제 설명 첫째 줄에 테스트 케이스의 개수 T(1 count; cin >> str; for (int j = 0; j < str.length(); j++) { for (int k = 0; k < count; k++) { cout
[C++ 백준] 1157 단어 공부
[C++ 백준] 1157 단어 공부
2021.02.02블로그에 올리는 모든 문제 풀이는 깃허브에 올려져 있습니다. 문제 설명 첫째 줄에 알파벳 대소문자로 이루어진 단어가 주어진다. 주어지는 단어의 길이는 1,000,000을 넘지 않는다. 가장 많이 사용된 알파벳이 무엇인지 알아내는 프로그램을 작성하시오. 단, 가장 많이 사용된 알파벳이 여러 개 존재하는 경우에는 ?를 출력한다. 풀이 전략 아스키코드를 활용해서 대소문자 변환 배열을 이용하여 최대 개수 알파벳 구하기 소스 코드 #include #include using namespace std; int main() { string str; int arr[26] = { 0, }; int max = 0; char c = '?'; cin >> str; for (char c : str) { if ('a'
[C++ 백준] 4344 평균은 넘겠지
[C++ 백준] 4344 평균은 넘겠지
2021.01.09블로그에 올리는 모든 문제 풀이는 깃허브에 올려져 있습니다. 문제 설명 테스트 케이스 개수 C가 주어진다. 각 테스트 케이스마다 학생의 수 N(1 > x; int arr[1000]; for (int j = 0; j > arr[j]; sum += arr[j]; } double avg = ( sum / (double)x ); for (int j = 0; j < x; j++) { if (avg < arr[j]) count++; } cout
[C++ 백준] 11004 K번째 수
[C++ 백준] 11004 K번째 수
2020.12.11블로그에 올리는 모든 문제 풀이는 깃허브에 올려져 있습니다. 문제 설명 첫째 줄에 N(1