c++ 코딩테스트 질문

c++ 코딩테스트 질문

작성일 2022.10.31댓글 2건
    게시물 수정 , 삭제는 로그인 필요

#include <iostream>
#include <string>

using namespace std;

int N, cnt[26];
char arr[150][30];
string name;

int main() {
cin >> N;
for (int i = 0; i < N; i++) {
cin >> name;
for (int j = 0; j < name.size(); j++) {
arr[i][j] = name[j];
}
}

for (int i = 0; i < N; i++) {
for (int j = 0; j < name.size(); j++) {
cout << arr[i][j];
}
}

for (int i = 0; i < N; i++) {
cnt[arr[i][0] - 'a']++;
}


for (int i = 0; i < 26; i++) {
if (cnt[i] >= 5) {
cout << arr[i][1];
}
}

return 0;
}

고수님들.. 백준 1159번 문제 풀이입니다..
거짓말 안치고 1시간째 고민중인데 왜 arr 마지막에 자꾸 er 이라는 문자가 들어가는걸까요?
그것만 해결하면 풀리는데... 자꾸 er이 끝에 붙는게 왜 붙는지를 모르겠습니다..
도와주십쇼 ㅜㅜ


#c++ 코딩테스트 #c++ 코딩테스트 문법 #c++ 코딩테스트 책 추천 #c++ 코딩테스트 책 #c++ 코딩테스트 예제 #c++ 코딩테스트 정리 #c++ 코딩테스트 준비 #c++ 코딩테스트 stl #c++ 코딩테스트 사이트 #c++ 코딩테스트 합격자되기

profile_image 익명 작성일 -

아래 주석 부분 참조하세요.

#include <iostream> #include <string> using namespace std; int N, cnt[26]; // 최대 30글자이기 때문에 '\0' 를 포함한 31 의 공간이 필요함 char arr[150][31]; string name; int main() { cin >> N; for (int i = 0; i < N; i++) { cin >> name; int j; for (j = 0; j < name.size(); j++) { arr[i][j] = name[j]; } // null 문자 삽입이 필요 arr[i][j] = '\0'; } // 코딩테스트 제출 시에는 필요없는 내용은 절대로 출력해서는 안됩니다. // for (int i = 0; i < N; i++) { // for (int j = 0; j < name.size(); j++) { // cout << arr[i][j]; // } // cout << endl; // } for (int i = 0; i < N; i++) { cnt[arr[i][0] - 'a']++; } // 원하는 출력값이 없을 때도 고려해야 합니다. int predaja = 1; for (int i = 0; i < 26; i++) { if (cnt[i] >= 5) { // cout << arr[i][1]; // cnt 값을 출력해야죠 cout << (char)('a' + i); predaja = 0; } } if (predaja) { cout << "PREDAJA" << endl; } return 0; }

profile_image 익명 작성일 -

cout << arr[i][1]; // 여기서 'a' + i 를 출력하시면 됩니다.

arr[i][1]; 는 각 이름의 두 번째 글자라서 제대로 나오지 않습니다.

또, 입력받은 이름의 첫 번째 글자만 따지면 되기 때문에

이렇게도 쓸 수 있습니다.

// 질문 코드를 최대한 바꾸지 않으면서 개선 #include <iostream> #include <string> using namespace std; int N, cnt[26]; char arr[150]; string name; int main() { cin >> N; for (int i = 0; i < N; i++) { cin >> name; arr[i] = name[0]; } for (int i = 0; i < N; i++) { cnt[arr[i] - 'a']++; } int morefives = 0; for (int i = 0; i < 26; i++) { if (cnt[i] >= 5) { cout << (char)(i + 'a'); morefives++; } } // 아무도 없으면 기권 if (!morefives) { cout << "PREDAJA"; } return 0; }

그리고 또 문자열을 입력받을 때마다

필요한 계산을 하면, 배열에 미리 저장해둘 필요가 없습니다.

아래는 제가 썼던 풀이이니 참고하세요.

#include <iostream> int main() { int alphabets[26] = { 0 }; // 알파벳 사용된 횟수 저장 char offset = 'a'; // 소문자 ascii 첫 글자 std::string entries = ""; // 5회 이상 사용된 문자들 entries.reserve(10); int n; std::cin >> n; for (int i = 0; i < n; i++) { std::string str; std::cin >> str; alphabets[str[0] - offset]++; // 알파벳 카운트 } for (int i = 0; i < 26; i++) { if (alphabets[i] >= 5) { // 5회 이상이면 entries.push_back(offset + i); // 결과에 포함 } } if (entries.length() >= 1) { std::cout << entries; // 한 글자라도 있으면 출력 } else { // 없으면 기권 std::cout << "PREDAJA"; } }

코딩테스트 질문

코딩테스트 연습사이트를 보면 제출하기 버튼이 있어서 이를 누르면 체점이... 이때는 파이썬, C++, 자바 등 언어를 가리지 않고 문제를 풀 수 있도록 컴퓨터에 각종 IDE가...

개발자 코딩테스트 준비 방법 질문드려...

... Doit 코딩테스트 알고리즘 c++로 공부해볼까하는데 게임회사 코딩테스트 준비에도... 질문에 답변이 도움이 되었으면 좋겠네요 Do it 코딩테스트 책으로 준비해도 괜찮아요!

C++ 유닛테스트 코딩 질문

수학적인 수식을 코딩으로 다시 작업하는 과제를 내주샸고 전 그런 코드의 유닛테스트를 만들어서 배포하려고 하는데요 소수점까지 전부 계산을 하다보니가 부동소수점...

취업 코딩테스트 질문

대게 대기업 등 코딩테스트에서 자바,c,파이썬 등을 본다고 하는데 제가 코딩 초짜라서... 파이썬 C++ C# C 등 여러가지 언어에 대한 경험이 도움이 되는 것도 맞습니다....

주관식문제테스트 코딩 c++

... 라고 글을 올렸었는데 답변이 달렸는데 제 c++실력으로는 도저히 이해가 안됩니다 ... 코딩... return i; } int main() { int qanum = ReadQA(); } 질문자님은...

네이버 개발자, 코딩테스트 질문이요!

... 네이버 코딩테스트c++ 로 가능할까요? 2. 네이버 백엔드 개발자는 주로 자바 spring을 사용하는게 맞나요? 3. 그럼 서버 관련, 데이터 베이스관련, 대용량...

코딩테스트 언어 선택 질문입니다!

... 그렇다면 코딩테스트를 위해 Python이나 C++을 또 따로 공부해야 좋을지, 그나마... 현 상황을 질문자 분 개인에게 대입해 보자면 직무 지원을 위한 백엔드 개발 공부는...