스태틱 멤버에서 논스태틱에 접근하려면 오류가 뜬다!
그래서 이 문제를 쓸 때 다른 메소드를 풀려면 그 메소드도 static 선언을 해줘야한다(라고 이해함ㅎ)
어떻게 풀까 고민을 많이 했는데 count 변수랑, 또 most 변수를 선언해서
count가 같거나 높아지면 most를 갱신하는 방법으로 할까 했다.
막 해쉬맵도 쓰면서 막막 죽쑤고 있었는데 아스키코드를 알면 쉽단다..ㅜㅜㅜ
아스키코드를 검색해봤다.
근데 놀라운건 string.charAt( ) -숫자 를 하면 바로 아스키코드로 변환이 돼서 계산이 된다..!!
이걸 활용해서 만들어봤다
영어 알파벳은 대문자 65~96? 까지고 소문자는 97부터라고 한다.
정답코드
import java.util.*;
public class Main {
public static void main(String[] args) {
Scanner sc=new Scanner(System.in);
String input=sc.next();
System.out.println(howMany(input));
}
public static char howMany(String input) {
int count=0;
int[] alpha=new int[26];
String str=input.toUpperCase();
char result='?';
for (int i=0; i<str.length(); i++) {
alpha[str.charAt(i)-65]+=1;
if (count<alpha[str.charAt(i)-65]) {
count=alpha[str.charAt(i)-65];
result=str.charAt(i);
} else if (count==alpha[str.charAt(i)-65]) {
result='?';
}
}
return result;
}
}
'아기 개발자 > 백준 문제풀이' 카테고리의 다른 글
[BOJ_JAVA] 백준 2908번 : 상수 @달깅 (0) | 2019.11.03 |
---|---|
[BOJ_JAVA] 백준 1152번 : 단어의 개수 @달깅 (0) | 2019.11.03 |
[BOJ_JAVA] 백준 11729번 : 하노이 탑 이동 순서 @달깅 (0) | 2019.11.03 |
[BOJ_JAVA] 백준 2447번 : 별찍기 @달깅 (0) | 2019.11.02 |
[BOJ_JAVA] 백준 15596번: 정수 N개의 합 @달깅 (0) | 2019.11.02 |
댓글