본문 바로가기
반응형

백준53

[BOJ/백준] 1157번 단어 공부 - [c/c++] 풀이 https://www.acmicpc.net/problem/1157 1157번: 단어 공부 알파벳 대소문자로 된 단어가 주어지면, 이 단어에서 가장 많이 사용된 알파벳이 무엇인지 알아내는 프로그램을 작성하시오. 단, 대문자와 소문자를 구분하지 않는다. www.acmicpc.net 문제 해설 알파벳 사용 횟수를 저장하는 배열 cnt를 초기화한 후 알파벳 별로 사용 횟수를 증가시켜준다. 알파벳 사용 개수의 최대값인 max를 통해 최댓값인 경우의 수를 세어 1인 경우 사용 횟수가 max인 알파벳 출력 경우의 수가 2 보다 클 경우 ?를 출력한다. 코드 c #include #include int main() { int cnt[26] = { 0, }; int max = -1; // max: 알파벳 사용 개수의 최대.. 2022. 10. 17.
[BOJ/백준] 2675번 문자열 반복 - [c/c++] 풀이 https://www.acmicpc.net/problem/2675 2675번: 문자열 반복 문자열 S를 입력받은 후에, 각 문자를 R번 반복해 새 문자열 P를 만든 후 출력하는 프로그램을 작성하시오. 즉, 첫 번째 문자를 R번 반복하고, 두 번째 문자를 R번 반복하는 식으로 P를 만들면 된다 www.acmicpc.net 문제 해설 간단한 반복문 문제로 문자 한 개당 입력된 반복 횟수 R만큼 출력하면 된다. 코드 c #include #include int main() { int t, R; char s[21]; scanf("%d", &t); while (t--) { scanf("%d", &R); scanf("%s", s); for (int i = 0; i < strlen(s); i++) { for (int .. 2022. 10. 15.
[BOJ/백준] 10809번 알파벳 찾기 - [c/c++] 풀이 https://www.acmicpc.net/problem/10809 10809번: 알파벳 찾기 각각의 알파벳에 대해서, a가 처음 등장하는 위치, b가 처음 등장하는 위치, ... z가 처음 등장하는 위치를 공백으로 구분해서 출력한다. 만약, 어떤 알파벳이 단어에 포함되어 있지 않다면 -1을 출 www.acmicpc.net 문제 해설 c - 문자가 최초로 등장한 인덱스를 저장할 cnt배열을 0으로 초기화시킨다. 문자가 최초 등장 시 문자열의 인덱스 번호 + 1로 저장한다. cnt배열을 순회하면서 0일 경우 -1을, 아닐 경우는 값 - 1을 공백을 두고 출력한다. cnt에 값을 저장할 때 + 1을 하지 않는다면? 문자의 최초 등장 인덱스가 0이라면 -1로 출력되는 문제가 발생한다. c++ - s.find(.. 2022. 10. 14.
[BOJ/백준] 11720번 숫자의 합 - [c/c++] 풀이 https://www.acmicpc.net/problem/11720 11720번: 숫자의 합 첫째 줄에 숫자의 개수 N (1 ≤ N ≤ 100)이 주어진다. 둘째 줄에 숫자 N개가 공백없이 주어진다. www.acmicpc.net 문제 해설 숫자가 공백없이 입력 되므로 배열로 받는다. 문자를 숫자로 변환하는 과정에서 아스키 코드에 의해 0부터 9까지의 문자는 48부터 57까지의 숫자로 변환된다. 따라서 숫자로 변환 후 '0' 또는 48을 빼줘야 정상적으로 값을 구할 수 있다. 코드 c #include int main() { int t; char s[101]; scanf("%d %s", &t, s); int sum = 0; for (int i = 0; i < t; i++) { sum += s[i] - '0'.. 2022. 10. 14.
반응형