th42500의 TIL

[Java] SWEA2050 - 알파벳을 숫자로 변환 본문

Algorithm/SWEA

[Java] SWEA2050 - 알파벳을 숫자로 변환

th42500 2021. 12. 15. 21:29

https://swexpertacademy.com/main/code/problem/problemDetail.do?problemLevel=1&contestProbId=AV5QLGxKAzQDFAUq&categoryId=AV5QLGxKAzQDFAUq&categoryType=CODE&problemTitle=&orderBy=FIRST_REG_DATETIME&selectCodeLang=ALL&select-1=1&pageSize=10&pageIndex=1 

 

SW Expert Academy

SW 프로그래밍 역량 강화에 도움이 되는 다양한 학습 컨텐츠를 확인하세요!

swexpertacademy.com

 

💡 포인트

1️⃣ 아스키코드 알기 (A=65)

 

1️⃣ Scanner를 이용한 풀이

✔ 소스코드

import java.util.*;

public class Solution {
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);

        String str = sc.next();
        char[] s = str.toCharArray();

        for (int i = 0; i < s.length; i++) {
            System.out.print(((int)s[i]-64) + " ");
        }
    }
}

1️⃣ 문자열 입력 후, 문자로 쪼개기

2️⃣ A의 아스키코드 값은 65이고 1부터 출력해야하므로 각 문자에 -64

3️⃣ 공백을 사이에 두고 출력

 

2️⃣ BufferedReader를 이용한 풀이

✔ 소스코드

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;

public class Solution {  // 2050.알파벳을 숫자로 변환

	public static void main(String[] args) throws IOException {
		BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
		
		String str = br.readLine();
		StringBuilder sb = new StringBuilder();
		for (int i = 0; i < str.length(); i++) {
			sb.append((str.charAt(i)-64)+" ");
		}
		
		System.out.println(sb.toString().substring(0, sb.toString().length()-1));
	}

}

1️⃣ 문자열 입력 후, 문자로 쪼개기

2️⃣ A의 아스키코드 값은 65이고 1부터 출력해야하므로 각 문자에 -64

3️⃣ 공백을 사이에 두고 StringBuilder에 추가

4️⃣ StirngBuilder의 0부터 맨 마지막 문자(마지막에 추가된 공백)를 제외한 문자까지 출력

    👉 StringBuilder는 String형태가 아니므로 toString()을 이용하여 출력

 

Comments