반응형
Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | ||||
4 | 5 | 6 | 7 | 8 | 9 | 10 |
11 | 12 | 13 | 14 | 15 | 16 | 17 |
18 | 19 | 20 | 21 | 22 | 23 | 24 |
25 | 26 | 27 | 28 | 29 | 30 | 31 |
Tags
- 소프티어 장애물인식프로그램
- 백준
- 백준 평범한배낭
- jenkins
- 백준 전쟁-전투
- express mongodb
- 백준 점프
- express
- 백준 A->B
- 백준 등수매기기
- 금고털이 파이썬
- 백준 예산
- 등수매기기 파이썬
- CRUD
- 1987파이썬
- 피아노체조 파이썬
- 백준 점프 파이썬
- 프로그래머스
- 도커 컨테이너
- 백준 전쟁 파이썬
- 파이썬 평범한배낭
- 백준 바이러스
- 지도자동구축 파이썬
- MongoDB
- 백준알파벳파이썬
- 파이썬데이터분석라이브러리
- 백준 피아노체조
- 장애물인식프로그램 파이썬
- MySQL완전삭제
- 소프티어 지도자동구축
Archives
- Today
- Total
바위 뚫는중
[BOJ] 백준 1157. 단어 공부 본문
반응형
내가 제일 어려워하는 문자열 문제^^.. 난 이게 왜이리 어려울까
비슷한 문제를 최대한 많이 풀어봐야겠다.
https://www.acmicpc.net/problem/1157
문제
알파벳 대소문자로 된 단어가 주어지면, 이 단어에서 가장 많이 사용된 알파벳이 무엇인지 알아내는 프로그램을 작성하시오. 단, 대문자와 소문자를 구분하지 않는다.
입력
첫째 줄에 알파벳 대소문자로 이루어진 단어가 주어진다. 주어지는 단어의 길이는 1,000,000을 넘지 않는다.
출력
첫째 줄에 이 단어에서 가장 많이 사용된 알파벳을 대문자로 출력한다. 단, 가장 많이 사용된 알파벳이 여러 개 존재하는 경우에는 ?를 출력한다.
풀이
알파벳의 개수는 26개!
대문자의 범위는 십진수로 65~90, 소문자는 97~122
해당 알파벳의 인덱스 값을 가져오기 위해서 -65를 해주면 됨
- A는 65니까 65를 빼면 0 , B는 66 이라 1, C는 67이라 2 이렇게!
그니까 0에는 A의 갯수 저장, 1에는 B의 갯수를 저장,, 이런식으로 가장 많이 사용된 알파벳을 구한다
import java.util.Scanner;
public class Main {
static String S;
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
String str = sc.next().toUpperCase(); // 미리 대문자로 받는다
int[] arr = new int [26]; // 알파벳은 총 26개
int max = 0; // 최대 반복 횟수
char result = 0; // 결과
// 사용된 알파벳의 배열에 1씩 증가시킨다.
for (int i = 0; i < str.length(); i++) {
arr[str.charAt(i) - 65]++; // 받아온문자열의 각 글자에서 65를 뺀다
if (max < arr[str.charAt(i) - 65]) { // max는 0 으로 두고 0보다 큰값이 있다면
max = arr[str.charAt(i) - 65]; // max를 최댓값으로 두고 이를 계속 반복함!
result = str.charAt(i); //결과를 해당 문자로 둔다
// 만약 최대값이 중복된다면 물음표 출력한다
} else if (max == arr[str.charAt(i) - 65]) {
result = '?';
}
}
System.out.println(result);
}
}
반응형
'Algorithms > 백준' 카테고리의 다른 글
[BOJ] 백준 9461. 파도반 수열, DP (0) | 2023.09.02 |
---|---|
[BOJ] 백준 10814. 나이순 정렬, Comparator (0) | 2023.09.02 |
[BOJ] 백준 2979. 트럭주차 (0) | 2023.08.30 |
[BOJ] 백준 10709. 기상캐스터 (0) | 2023.08.27 |
[BOJ] 백준 11724. 연결요소 개수 구하기 (0) | 2023.07.20 |