목록CodingTest/C++ (13)
기록방
👉 문제링크 1259번: 팰린드롬수 입력은 여러 개의 테스트 케이스로 이루어져 있으며, 각 줄마다 1 이상 99999 이하의 정수가 주어진다. 입력의 마지막 줄에는 0이 주어지며, 이 줄은 문제에 포함되지 않는다. www.acmicpc.net 🔸 문제 분석 🔸 입력받은 숫자가 앞 뒤로 대칭인지 확인하는 문제이다. 🔸 코드 🔸 #include #include using namespace std; int main(void) { string input; while (true) { cin >> input; if (input == "0") break; bool flag = true; int size = input.length(); for (int i = 0; i < size/2; i++) { if (input[i..
👉 문제링크 10820번: 문자열 분석 문자열 N개가 주어진다. 이때, 문자열에 포함되어 있는 소문자, 대문자, 숫자, 공백의 개수를 구하는 프로그램을 작성하시오. 각 문자열은 알파벳 소문자, 대문자, 숫자, 공백으로만 이루어져 있 www.acmicpc.net 🔸 문제 분석 🔸 공백이 포함된 문자열을 한줄 씩 입력받아, 숫자로 변환 후 합을 구하는 문제이다. 🔸 코드 🔸 #include #include using namespace std; int main(void) { string s; while (getline(cin, s)) { int sum[4] = { 0 }; for (char c : s) { if ('a'
👉 문제링크 15351번: 인생 점수 어떤 사람이 무엇을 즐기느냐에 따라 그 사람의 인생 점수를 측정할 수 있다. A를 1점, B를 2점, ... , Z를 26점으로 해, 즐기는 것의 이름의 알파벳 점수를 모두 더하면 된다. 예를 들어, "OTAKU LIFE" 는 www.acmicpc.net 🔸 문제 분석 🔸 공백이 포함된 문자열을 한줄 씩 입력받아, 숫자로 변환 후 합을 구하는 문제이다. 🔸 코드 🔸 #include #include using namespace std; int main(void) { int N, sum; string s; cin >> N; getchar(); for (int i = 0; i < N; i++) { sum = 0; getline(cin, s); for (char c : s)..
👉 문제링크 1181번: 단어 정렬 첫째 줄에 단어의 개수 N이 주어진다. (1 ≤ N ≤ 20,000) 둘째 줄부터 N개의 줄에 걸쳐 알파벳 소문자로 이루어진 단어가 한 줄에 하나씩 주어진다. 주어지는 문자열의 길이는 50을 넘지 않는다. www.acmicpc.net 🔸 문제 분석 🔸 문자열의 길이 내림차순 정렬과 사전식 정렬을 같이 적용하는 문제이다. 헤더 의 sort 함수 compare인자를 사용하면 쉽게 풀 수 있다. 🔸 코드 🔸 #include #include #include using namespace std; bool check(std::string& a, std::string& b) { if (a.size() < b.size()) return true; else if (a.size() ==..
👉 문제링크 2292번: 벌집 위의 그림과 같이 육각형으로 이루어진 벌집이 있다. 그림에서 보는 바와 같이 중앙의 방 1부터 시작해서 이웃하는 방에 돌아가면서 1씩 증가하는 번호를 주소로 매길 수 있다. 숫자 N이 주어졌 www.acmicpc.net 🔸 문제 분석 🔸 N번째 방 까지의 지나는 방의 수는 몇 번째 껍질(?)인지 세면 된다. 벌집은 한겹한겹 늘어날때마다 6배수만큼 늘어난다. 중앙 '1'에서 오른쪽 아래로 내려가면 '7', '19', '37', '61' 인데 증가폭을 보면 6, 12, 18, 24이다. 따라서 최대값을 6의 배수만큼 늘려가며 N이 포함되는지 확인하면 된다. 🔸 코드 🔸 #include using namespace std; int main(void) { int N, count =..