분류 전체보기337 [백준 1157/c++] 단어 공부 - 문자열 간단한 문자열 문제다 더 효율적인 로직도 중요하지만 더 더 더 빨리 풀도록 하자 시간내에 못풀면 쉬워도 틀린문제니까 https://www.acmicpc.net/problem/1157 1157번: 단어 공부 알파벳 대소문자로 된 단어가 주어지면, 이 단어에서 가장 많이 사용된 알파벳이 무엇인지 알아내는 프로그램을 작성하시오. 단, 대문자와 소문자를 구분하지 않는다. www.acmicpc.net #include using namespace std; int main(){ string s; int a[150]={0}; int max=0; int cnt=0; char ans='*'; cin >> s; for(int i=0; i='a' && s[i] 2022. 6. 24. [백준 5525/c++] IOIOI - 문자열 - 탐색 - 부분 점수 연산 시간을 줄여서 최소한의 연산으로 문자를 탐색하는 로직을 만드는 문제였다 조건에 부분 만족 시 부분 점수를 주는 서브 테스크 문제로서, 부분 점수 50점의 조건은 논리에 이상이 없는지, 100점은 일정 시간내에 풀 수 있는지 였다 find를 통해 이전 문자 탐색처럼 코드를 짜니 시간복잡도가 높아 부분점수를 받았고, ' I ' 이후에 오는 문자들이 IO라는 조건에 맞을 시 그 문자들이 n개 이상이 되어 원하는 문자의 길이를 충족하는지를 앞에서 부터 문자를 하나씩 옮겨가며 충족 시 IO의 문자 수 만큼인 2만큼 인덱스를 추가하여 계속 카운트 해나가는 방식으로 풀면 시간내에 풀 수 있는 문제였다 https://www.acmicpc.net/problem/5525 5525번: IOIOI N+1개의 I와 N개의.. 2022. 6. 24. [백준 1543/c++] 문자 검색 - 문자열 stirng 의 내장 멤버함수인 find를 사용해서 해당 중복 인덱스를 찾고, 그 새 인덱스로 검색 시작 인덱스를 갱신하며 카운트 하는 문제였다 생각보다 쉽게 풀이가 가능했다 #include using namespace std; int main(){ string s; string t; int cnt=0; int nbe=0; getline(cin, s); getline(cin, t); while(s.find(t, nbe)!=string::npos){ nbe=s.find(t, nbe) + t.length(); cnt++; } cout 2022. 6. 24. [백준 1316/c++] 그룹 단어 체커 - 문자열 연속되는 문자가 아니라면 이전에 나온적이 있던 문자인지 확인한다 연속되지 않는 문자가 이전에 나온적 있는 문자라면, 그 단어는 그룹단어가 아니다 이를 확인하기 위해서 문자들이 나올때마다 그 문자에 해당하는 배열에 0으로 초기화 후 하나씩 카운트를 하여 "그 배열의 매칭되는 문자의 값이 0이 아니며, 앞의 문자와 같으면 확인 안하므로 다를때만 확인해야 하므로 앞과 다른지 여부 확인, 앞에 비교할 문자가 있어야 하므로 2번째 문자부터 확인해야 해야 되는" 조건에 부합한다면 그 문자는 나온적이 있는 문자이므로, 그룹단어가 아니라고 체크 그룹단어가 아니라고 체크가 안된 단어들의 수를 세어 답을 구한다 https://www.acmicpc.net/problem/1316 1316번: 그룹 단어 체커 그룹 단어란 단어.. 2022. 6. 24. 이전 1 ··· 53 54 55 56 57 58 59 ··· 85 다음