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
- 자바실습문제
- dowhile
- 적용
- Spring
- 프로그래머스
- 배열
- URL생성
- 자바
- 백준
- CONTINUE
- 자바연산자
- 레이어팝업URL
- 2차원배열
- for
- while
- LV1
- array
- express
- 반복문
- 키패드
- 문제풀이
- node.js
- KH정보교육원
- 분기문
- 자바변수
- berak
- Java
- 모달팝업
- 레이어팝업
- 정적파일
Archives
- Today
- Total
까잉이의 개발노트
[ 백준 1157 ] 단어 공부 JAVA(자바) 문제풀이 본문
내 풀이과정은 좀 복잡하다😵
내가 푼 방법은 Set을 이용해 중복되는 알파벳을 제외 시켜버린 배열을 만들어서
for문을 통해 중복되는 문자가 몇개인지와 제일 많이 나온 문자를 알아내서 출력하는 거다
풀이순서
1. 문자열(s)을 입력받은 후 .toUpperCase()로 모두 대문자로 만들어버린다.
2. Set을 선언하고 for문으로 입력받은 문자를 set에 추가한다
3. char[] arr를 선언해주고 Iterator를 이용해 while문을 set의 사이즈만큼 돌려
set에 있는 것들을 arr에 추가한다
4. 제일 많이 중복된 문자 개수와 문자를 담을 int big, char bigChar를 선언해준다
5. 이중 for문을 이용하는데 첫 for문에서는 arr 개수 만큼 두번째 for문에서는 입력받은 문자열(s)의 문자수 만큼 돌린다.
6. if문으로 arr과 s.charAt()를 비교해 같은 경우 중복되는 개수를 담는 count를 증감시킨다.
7. 마지막으로 제일 많이 중복된 문자개수(big)보다 현재 중복된 개수(count)가 크면 현재 문자를 bigChar에 담고
만약 big과 count가 같으면 bigChar에 '?'를 담는다
import java.util.HashSet;
import java.util.Iterator;
import java.util.Scanner;
import java.util.Set;
public class Main {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
String s = sc.next().toUpperCase();
Set set = new HashSet();
for(int i = 0; i < s.length(); i++) {
set.add(s.charAt(i));
}
char[] arr = new char[set.size()];
Iterator iter = set.iterator();
int n = 0;
while(iter.hasNext()) {
arr[n] = (char)iter.next();
n++;
}
int big = 0; // 제일 많이 중복된 문자개수
char bigChar = ' '; // 제일 많이 중복된 문자
for(int i = 0; i < arr.length; i++) {
int count = 0; // 중복 개수
for(int j = 0; j < s.length(); j++){
if(arr[i] == s.charAt(j)){
count++;
}
}
if(big < count) {
big = count;
bigChar = arr[i];
}else if(big == count) {
bigChar = '?';
}
}
System.out.print(bigChar);
}
}
'개발문제풀이' 카테고리의 다른 글
[ 백준 2908 ] 상수 JAVA(자바) 문제풀이 (0) | 2022.07.11 |
---|---|
[ 백준 1152 ] 단어의 개수 JAVA(자바) 문제풀이 (0) | 2022.07.11 |
[ 백준 10809 ] 알파벳 찾기 JAVA(자바) 문제풀이 (0) | 2022.07.01 |
[ 백준 11720 ] 숫자의 합 JAVA(자바) 문제풀이 (0) | 2022.06.30 |
[ 백준 4344 ] 평균은 넘겠지 JAVA(자바) 문제풀이 (0) | 2022.03.25 |
Comments