hahn

단계별로 풀어보기(문자열 - 1) 실버 ㅅㅅㅅ 본문

코딩테스트 연습/백준(JAVA)

단계별로 풀어보기(문자열 - 1) 실버 ㅅㅅㅅ

hahn 2021. 8. 22. 23:13
728x90
반응형

 

오늘 목표 달성했으니 그만할 거다.

 


1. 아스키 코드

갑자기 숫자로 문자 나타내라길래 당황했는데

 

hashCode 쓰면 될 거 같아서 해봤는데 됐다.


2. 숫자의 합

처음에 원래 이 방법대로 하다가 뭔가 길어질 거 같아서

 

숫자로 받는 걸로 방향을 틀었는데 25자릿 수 입력 때문에

 

int, long 둘 다 오류 떠서 다시 원점으로 돌아왔다.

 

근데 생각해 보니까 -48 해주면 될 거 같아서 해봤는데 됐다.

 

진작 이렇게 할걸... 역시 주제(내 주제 아님 문자열 말하는 거임)에 맞게 소스 짜야 한다.


3. 알파벳 찾기

위랑 같은 맥락


4. 문자열 반복

계속하면서 뭔가 변수가 늘어나는데

 

더 쉬운 방법이 있지 않을까 다른 사람 코드도 참고해야겠다.


5. 단어 공부

더보기
import java.util.Scanner;

class Main{
    
    public static void main(String[] args){
        
        Scanner sc = new Scanner(System.in);
        
        int compare,
            max = 0,
            check = 0,
            result = 0;
        
        String str = sc.next();
        
        int[] arr = new int[26];
        
        for(int i = 0; i < str.length(); i++){
            
            compare = (int) str.charAt(i) - 65;
            
            if(compare > 31) compare -= 32;
            
            arr[compare]++;
            
        }
        
        for(int i = 0; i < arr.length; i++){
            
            if(max < arr[i]) max = arr[i];
            
        }
        
        for(int i = 0; i < arr.length; i++){
            
            if(max == arr[i]){
                check++;
                result = i;
            }

        }
        
        if(check == 1){
            System.out.println((char) (result + 65));
        }else{
            System.out.println("?");
        }
        
        
    }
    
}

하다 보니 얘도 변수랑 for 문이 늘어간다....

 


6. 단어의 개수

안 되길래 왜 안 되나 봤더니 공백일 때는 0 출력되게 해야하는거였다.

 

어떻게 처리할까 고민하다가 열 받아서 조건 처리했다.


7. 상수

좀 쉽게 하려고 잔머리 굴리다가 안 돼서 조건 처리했다.


원래 다하고 올리려 그랬는데 어째 문자열이 더 머리가 아프다.

 

실버 됐으니까 여까지 하고 낼 하련다..

728x90
반응형