반응형

1. 문제 번호 5622번


 

 

 

2. 문제 풀이 

 - switch case 문 사용

 

나의 문제풀이 방식 및 순서

 

 * 나의 다양한 학습이 우선이기 때문에 다양한 방법을 생각 *

 

 1. 알파벳이 24개인줄 알고 .. /3 으로 풀어내려고 함. 총 26개

 2. ASCII 로 풀까? (A=65, a=97) 

 3. 공통된 기준이 없어서 결국 남들하는대로 복붙함..

 

 


3. 소스 인증

 

import java.util.*;
import java.lang.*;
import java.io.*;

// The main method must be in a class named "Main".
class Main {
    public static void main(String[] args) throws IOException{
        BufferedReader br = new BufferedReader(new  InputStreamReader(System.in ));

        String inputLine = br.readLine();
        int ss = 0;

        for(int i = 0; i < inputLine.length(); i++){
            switch (inputLine.charAt(i)) {
                	case 'A' : case 'B': case 'C' : 
    				ss += 3;
    				break;
                    
    			case 'D' : case 'E': case 'F' :
    				ss += 4; 
    				break;
                    
    			case 'G' : case 'H': case 'I' :
    				ss += 5; 
    				break;
                    
    			case 'J' : case 'K': case 'L' : 
    				ss += 6;
    				break;
                    
    			case 'M' : case 'N': case 'O' :
    				ss += 7;
    				break;
                    
    			case 'P' : case 'Q': case 'R' : case 'S' : 
    				ss += 8; 
    				break;
                    
    			case 'T' : case 'U': case 'V' : 
    				ss += 9;
    				break;
                    
    			case 'W' : case 'X': case 'Y' : case 'Z' : 
    				ss += 10;
    				break;
            }
        }
        System.out.print(ss);

    }
}

 

 

 

 

- 실패 소스코드 -




4. 추가 개념

 

 

 

 

 


5. 참조 블로그


 

불편함을 느끼실 경우 연락 주시면 곧 바로 삭제하도록 하겠습니다.

 


 

 

 

 

 

 

 

728x90
반응형

'알고리즘(BOJ) 문제풀이' 카테고리의 다른 글

[BOJ/백준] 1차원 심화_ 3003번  (0) 2024.05.16
[BOJ/백준] 문자열_11718번  (0) 2024.05.16
[BOJ/백준] 문자열_2908번  (0) 2024.05.16
[BOJ/백준] 문자열_1152번  (0) 2024.05.16
[BOJ/백준] 문자열_2675번  (0) 2024.05.15
반응형

1. 문제 번호 2908번


 

 

 

2. 문제 풀이 

 - Math.max() , Math.abs()

 - StringBuilder classt사용

 - 음수 처리 

 - 숫자 reverse

// 일의 자리 숫자를 뽑아내서 거꾸로된 정수에 추가합니다.
reversedValue = reversedValue * 10 + absValue % 10;
// 다음 자리로 이동합니다.
absValue /= 10;

 

 

나의 문제풀이 방식 및 순서

 

 * 나의 다양한 학습이 우선이기 때문에 다양한 방법을 생각 *

 

 1. 반례를 먼저 생각했음. ( * 음수의 비교는 ? )

 2. Math.abs 음수를 절대값을 씌워준다.

 3. String은 += 이 안되기 때문에 StringBuilder를 생성

 

 


3. 소스 인증

 

import java.util.*;
import java.lang.*;
import java.io.*;

// The main method must be in a class named "Main".
class Main {
    public static void main(String[] args) throws IOException{
        BufferedReader br = new BufferedReader(new  InputStreamReader(System.in ));

        String inputLine = br.readLine().strip();
        String [] inputAry;
        
        if(inputLine.isEmpty()){
            inputAry = new String[0];
        } else {
            inputAry = inputLine.split(" ");
        }

        int x = reverFunction(Integer.parseInt(inputAry[0]));
        int y = reverFunction(Integer.parseInt(inputAry[1]));
        
        System.out.println(Math.max(x,y));
        
        br.close();
    }
    public static int reverFunction (int input){
        boolean sign = input >= 0;
        int absValue = Math.abs(input);
        String valueStr = Integer.toString(absValue);
        StringBuilder reversedStr = new StringBuilder();
        
        for (int i = valueStr.length()-1 ; i >= 0; i--){
            // String 클래스는 += 사용하면 새로운 문자열을 합치는 것이 아니라 반복적으로 생성된다.
            // output += valueStr.chatAt(i);  

            reversedStr.append(valueStr.charAt(i));

        }
        int reversedValue = Integer.parseInt(reversedStr.toString());
        return sign ? reversedValue : -reversedValue;
    }
}

 

 

 

import java.util.*;
import java.lang.*;
import java.io.*;

// The main method must be in a class named "Main".
class Main {
    public static void main(String[] args) throws IOException{
        BufferedReader br = new BufferedReader(new  InputStreamReader(System.in ));

        String inputLine = br.readLine().strip();
        String [] inputAry;
        
        if(inputLine.isEmpty()){
            inputAry = new String[0];
        } else {
            inputAry = inputLine.split(" ");
        }

        int x = reverFunction(Integer.parseInt(inputAry[0]));
        int y = reverFunction(Integer.parseInt(inputAry[1]));
        
        System.out.println(Math.max(x,y));
        
        br.close();
    }
    public static int reverFunction (int input){
        int absValue = Math.abs(input);
        int reversedValue = 0;
        
        while (absValue != 0) {
        // 일의 자리 숫자를 뽑아내서 거꾸로된 정수에 추가합니다.
        reversedValue = reversedValue * 10 + absValue % 10;
        // 다음 자리로 이동합니다.
        absValue /= 10;
        }
        
        return input >= 0 ? reversedValue : -reversedValue;

    }
}

 

 

 

- 실패 소스코드 -




4. 추가 개념

 

 

 

 

 


5. 참조 블로그


 

불편함을 느끼실 경우 연락 주시면 곧 바로 삭제하도록 하겠습니다.

 


 

 

 

 

 

 

 

728x90
반응형

'알고리즘(BOJ) 문제풀이' 카테고리의 다른 글

[BOJ/백준] 문자열_11718번  (0) 2024.05.16
[BOJ/백준] 문자열_5622번  (0) 2024.05.16
[BOJ/백준] 문자열_1152번  (0) 2024.05.16
[BOJ/백준] 문자열_2675번  (0) 2024.05.15
[BOJ/백준] 문자열_10809번  (0) 2024.05.15
반응형

1. 문제 번호 1152번


 

 

 

2. 문제 풀이 

 - strip()        : 각종 공백 문자 앞뒤 제거 ( 더 광범위함)

 - stripLeading(), stripTrailing() : 왼쪽 오른쪽 공백 제거

 - trim ()        : 공백 제거

 - isEmpty()  

 

 

나의 문제풀이 방식 및 순서

 

 1. 반례를 먼저 생각했음. ( * 공백 입력한 글자 입력 주의 !!! )

 


3. 소스 인증

 

import java.util.*;
import java.lang.*;
import java.io.*;

// The main method must be in a class named "Main".
class Main {
    public static void main(String[] args) throws IOException{
        BufferedReader br = new BufferedReader(new  InputStreamReader(System.in ));

        String inputLine = br.readLine().strip();
        String [] inputAry;
        
        if(inputLine.isEmpty()){
            inputAry = new String[0];    
        } else {
            inputAry = inputLine.split(" ");
        }
        System.out.println(inputAry.length);
        
        br.close();
    }
}

 

 

 

- 실패 소스코드 -




4. 추가 개념

 

 

 

 

 


5. 참조 블로그


 

불편함을 느끼실 경우 연락 주시면 곧 바로 삭제하도록 하겠습니다.

 


 

 

 

 

 

 

 

728x90
반응형

'알고리즘(BOJ) 문제풀이' 카테고리의 다른 글

[BOJ/백준] 문자열_5622번  (0) 2024.05.16
[BOJ/백준] 문자열_2908번  (0) 2024.05.16
[BOJ/백준] 문자열_2675번  (0) 2024.05.15
[BOJ/백준] 문자열_10809번  (0) 2024.05.15
[BOJ/백준] 문자열_11720번  (0) 2024.05.15
반응형

1. 문제 번호 2675번


 

 

 

2. 문제 풀이 

 - String.repeat(count) 

 

 

 

 

 

나의 문제풀이 방식 및 순서

 

 1. 3과 ABC를 보고 각각을 반복횟수, 문자열 변수로 받기로 결정

 2. 각각의 문자열 만큼 반복 횟수를 곱하여 출력문에 저장해놓아서 한꺼번에 출력하고자 함 

 


3. 소스 인증

 

import java.util.*;
import java.lang.*;
import java.io.*;

// The main method must be in a class named "Main".
class Main {
    public static void main(String[] args) throws IOException{
        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));

        String inputLine = br.readLine();
        int [] alphabetIndex = new int[26];
        Arrays.fill(alphabetIndex,-1);

        for(int i = 0; i < inputLine.length(); i++){
            int temp = ((int) inputLine.charAt(i)) % 97;
            if(alphabetIndex[temp] == -1){
                alphabetIndex[temp] = i;
            }
        }

        for (int i : alphabetIndex){
            System.out.print(i + " ");
        }
        br.close();
    }
}

 

 

 

import java.util.*;
import java.lang.*;
import java.io.*;

// The main method must be in a class named "Main".
class Main {
    public static void main(String[] args) throws IOException{
        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));

        String inputLine = br.readLine();
        char[] alphabet = new char[26];
        int [] alphabetIndex = new int[26];
        Arrays.fill(alphabetIndex, -1);
        
        for (int i = 0; i < 26; i++){
            alphabet[i] = (char) (i + 97);
        }

        for (int i = 0; i < inputLine.length(); i++){
            for (int j = 0; j < alphabet.length; j++){
                if(inputLine.charAt(i)==alphabet[j]){
                    alphabetIndex[j] = (alphabetIndex[j] == -1) ? i : alphabetIndex[j];
                }
            }
        }
        
        for (int i:alphabetIndex){
            System.out.print(i + " ");
        }
        br.close();
    }
}

 

- 실패 소스코드 -




4. 추가 개념

String.repeat(Count)

 

앞으로 자주 사용하게 될 메소드 이다.

문자열을 매개변수 만큼 반복하여 새 문자열을 반환한다.

 

 

 


5. 참조 블로그


 

불편함을 느끼실 경우 연락 주시면 곧 바로 삭제하도록 하겠습니다.

 


 

 

 

 

 

 

 

728x90
반응형

'알고리즘(BOJ) 문제풀이' 카테고리의 다른 글

[BOJ/백준] 문자열_2908번  (0) 2024.05.16
[BOJ/백준] 문자열_1152번  (0) 2024.05.16
[BOJ/백준] 문자열_10809번  (0) 2024.05.15
[BOJ/백준] 문자열_11720번  (0) 2024.05.15
[BOJ/백준] 문자열_11654번  (0) 2024.05.15
반응형

1. 문제 번호 10809번


 

 

 

2. 문제 풀이 

 - 핵심은 ASCII 코드를 활용하는 것

    A = 65, a = 97 

 

 - Arrays.fill( int [] a , int val )

public static void fill(int[] a, int val)

 

 - Char Convert to int

     -  Character.getNumericValue

 

 - String Convert to Char

     -  String.charAt(index)

 

 - Char Convert to String 

     -  String.valueOf(char)

 

 

나의 문제풀이 방식 및 순서

 방법 1. 

 1. 배열 26개에 초기 값 -1 을 초기화

 2. 입력 값 backjoon에 각각 97을 나눠 ASCII코드 값을 추출

 3. 그것을 배열 index로 값 삽입

 

 방법 2.

 1.  배열 값 A~Z까지 다 만든다.

 2. 배열 값 -1로 26개 초기 세팅

 3. 입력값 backjoon과 배열 값 A~Z까지 차례로 비교하여 같으면 2.의 배열에 추가

 

 


3. 소스 인증

 

import java.util.*;
import java.lang.*;
import java.io.*;

// The main method must be in a class named "Main".
class Main {
    public static void main(String[] args) throws IOException{
        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));

        String inputLine = br.readLine();
        int [] alphabetIndex = new int[26];
        Arrays.fill(alphabetIndex,-1);

        for(int i = 0; i < inputLine.length(); i++){
            int temp = ((int) inputLine.charAt(i)) % 97;
            if(alphabetIndex[temp] == -1){
                alphabetIndex[temp] = i;
            }
        }

        for (int i : alphabetIndex){
            System.out.print(i + " ");
        }
        br.close();
    }
}

 

 

 

import java.util.*;
import java.lang.*;
import java.io.*;

// The main method must be in a class named "Main".
class Main {
    public static void main(String[] args) throws IOException{
        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));

        String inputLine = br.readLine();
        char[] alphabet = new char[26];
        int [] alphabetIndex = new int[26];
        Arrays.fill(alphabetIndex, -1);
        
        for (int i = 0; i < 26; i++){
            alphabet[i] = (char) (i + 97);
        }

        for (int i = 0; i < inputLine.length(); i++){
            for (int j = 0; j < alphabet.length; j++){
                if(inputLine.charAt(i)==alphabet[j]){
                    alphabetIndex[j] = (alphabetIndex[j] == -1) ? i : alphabetIndex[j];
                }
            }
        }
        
        for (int i:alphabetIndex){
            System.out.print(i + " ");
        }
        br.close();
    }
}

 

- 실패 소스코드 -




4. 추가 개념

 

 

 

 


5. 참조 블로그


 

불편함을 느끼실 경우 연락 주시면 곧 바로 삭제하도록 하겠습니다.

 


 

 

 

 

 

 

 

728x90
반응형

'알고리즘(BOJ) 문제풀이' 카테고리의 다른 글

[BOJ/백준] 문자열_1152번  (0) 2024.05.16
[BOJ/백준] 문자열_2675번  (0) 2024.05.15
[BOJ/백준] 문자열_11720번  (0) 2024.05.15
[BOJ/백준] 문자열_11654번  (0) 2024.05.15
[BOJ/백준] 문자열_9086번  (0) 2024.05.15
반응형

1. 문제 번호 11720번


 

 

 

2. 문제 풀이 

 - Char Convert to int

     -  Character.getNumericValue

 

 - String Convert to Char

     -  String.charAt(index)

 

 - Char Convert to String 

     -  String.valueOf(char)

 

 

나의 문제풀이 방식 및 순서

 

 

 


3. 소스 인증

 

import java.util.*;
import java.lang.*;
import java.io.*;

// The main method must be in a class named "Main".
class Main {
    public static void main(String[] args) throws IOException{
        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
        int sum = 0;
        int inputCnt = Integer.parseInt(br.readLine());

        String inputLine = br.readLine();

        for(int i = 0; i < inputCnt; i++){
            sum += Character.getNumericValue(inputLine.charAt(i));
        }
        System.out.println(sum);
        br.close();
        
    }
}

 

 

 

 

 

- 실패 소스코드 -




4. 추가 개념

 

 

 

 


5. 참조 블로그


 

불편함을 느끼실 경우 연락 주시면 곧 바로 삭제하도록 하겠습니다.

 


 

 

 

https://www.javatpoint.com/java-char-to-int

 

728x90
반응형

'알고리즘(BOJ) 문제풀이' 카테고리의 다른 글

[BOJ/백준] 문자열_2675번  (0) 2024.05.15
[BOJ/백준] 문자열_10809번  (0) 2024.05.15
[BOJ/백준] 문자열_11654번  (0) 2024.05.15
[BOJ/백준] 문자열_9086번  (0) 2024.05.15
[BOJ/백준] 문자열_2743번  (0) 2024.05.15
반응형

1. 문제 번호 11654번


 

 

 

2. 문제 풀이 

 

 

 

나의 문제풀이 방식 및 순서

 

 

 


3. 소스 인증

 

import java.util.*;
import java.lang.*;
import java.io.*;

// The main method must be in a class named "Main".
class Main {
    public static void main(String[] args) throws IOException{
        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));

        char inputLine = br.readLine().charAt(0);
        int  inputAscii = inputLine;

        System.out.println(inputAscii);

        br.close();
        
    }
}

 

 

 

 

 

- 실패 소스코드 -




4. 추가 개념

 

 

 

 


5. 참조 블로그


 

불편함을 느끼실 경우 연락 주시면 곧 바로 삭제하도록 하겠습니다.

 


 

 

 

 

 

728x90
반응형

'알고리즘(BOJ) 문제풀이' 카테고리의 다른 글

[BOJ/백준] 문자열_10809번  (0) 2024.05.15
[BOJ/백준] 문자열_11720번  (0) 2024.05.15
[BOJ/백준] 문자열_9086번  (0) 2024.05.15
[BOJ/백준] 문자열_2743번  (0) 2024.05.15
[BOJ/백준] 문자열_27866번  (0) 2024.05.15
반응형

1. 문제 번호 9086번


 

 

 

2. 문제 풀이 

 

 

 

나의 문제풀이 방식 및 순서

 

 

 


3. 소스 인증

 

import java.util.*;
import java.lang.*;
import java.io.*;

// The main method must be in a class named "Main".
class Main {
    public static void main(String[] args) throws IOException{
        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));

        int inputLine = Integer.parseInt(br.readLine());
        String [] inputArr = new String[inputLine];

        for(int i = 0; i < inputLine; i++){
            String temp = br.readLine();
            inputArr[i] = String.valueOf(temp.charAt(0)) + String.valueOf(temp.charAt(temp.length()-1));
        }

        for (String value : inputArr) {
            System.out.println(value);
        }
        br.readLine();
        
    }
}

 

 

 

 

 

- 실패 소스코드 -




4. 추가 개념

 

 

 

 


5. 참조 블로그


 

불편함을 느끼실 경우 연락 주시면 곧 바로 삭제하도록 하겠습니다.

 


 

 

 

 

 

728x90
반응형

'알고리즘(BOJ) 문제풀이' 카테고리의 다른 글

[BOJ/백준] 문자열_11720번  (0) 2024.05.15
[BOJ/백준] 문자열_11654번  (0) 2024.05.15
[BOJ/백준] 문자열_2743번  (0) 2024.05.15
[BOJ/백준] 문자열_27866번  (0) 2024.05.15
[BOJ/백준] 1차원 배열_1546번  (0) 2024.05.14

+ Recent posts