목록문자열 (50)
기록방
👉 문제링크 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() ==..
👉 문제링크 2204번: 도비의 난독증 테스트 꿍은 도비에게 영어단어들을 제시한 후 어떤 단어가 대소문자를 구분하지 않고 사전순으로 가장 앞서는지 맞추면 양말을 주어 자유를 얻게해준다고 하였다. 하지만 인성이 좋지 않은 꿍은 사실 www.acmicpc.net 🔸 문제 분석 🔸 문자열을 대문자 혹은 소문자로만 이루어 지도록 통일시키는 변환이 필요하다. 사전식 오름차순 정렬에서 가장 앞에오는 것을 고른다. 입력받자마자 전 값과 비교해서 출력하는 코드를 작성했지만, 오류가 많이 나서 정답 포스팅을 참조했다. 🔸 기존 코드 (오답)🔸 #include #include using namespace std; int main(void) { int n; string input, answer, temp; do { cin ..
👉 문제링크 22351번: 수학은 체육과목 입니다 3 이환이의 선생님이 부른 두 정수 $A$와 $B$를 공백으로 구분하여 출력하라. 만약 가능한 답이 두 가지 이상이라면, 그중 $A$가 가장 작은 것을 출력하라. 이환이는 항상 정확한 답을 쓰기 때문에, www.acmicpc.net 🔸 문제 분석 🔸 문자열의 숫자 변환이 필요하다. A, B 모두 1~999 이므로 순서대로 입력했을때 1~2889 범위가 나오는 것 같다. 숫자의 자릿수는 1~3 이다. 🔸 코드 🔸 #include #include using namespace std; int main(void) { int A, B = 0, count, temp = 0, ac, len; string s; cin >> s; for (int i = 1, j; i