자바 백준 2744번
브론즈 5
https://www.acmicpc.net/problem/2744
문제 보기
분류: 구현, 문자열
문제 풀기
자바를 연습하다.
toCharArray() 로 주어진 문자들을 리스트에 char 타입으로 입력받는다.
char 타입은 ASCII 코드의 10 진수인 정수로 저장이 되기 때문에 크기 비교를 통해 조건을 준다. (대문자 Z 90 보다 작거나, 소문자 a 97 보다 크거나)
대문자와 소문자는 ASCII 코드 10 진수에서 32 만큼 차이가 있기 때문에 이를 이용하여 연산을하여 대문자 -> 소문자 또는 소문자 -> 대문자 ASCII 변환을 한다.
int 타입의 결과는 casting 을 통해 char 타입으로 변환하여 출력한다.
코드 보기
import java.util.Arrays;
import java.util.Scanner;
public class Main {
public static void main(String args[]) {
Scanner sc = new Scanner(System.in);
char[] text = sc.next().toCharArray();
char[] newText = new char[text.length];
// System.out.println(Arrays.toString(text));
for (int i = 0; i < text.length; i++) {
if (text[i] <= 90) { // 대문자 Z 의 ASCII 코드인 90 을 기준으로 이보다 작은수는 대문자.
newText[i] = (char)(text[i] + 32); // ASCII 코드에서 대문자와 소문자는 32 간격 차이를 갖음.
}
else if (text[i] >= 97) { // 소문자 a 의 ASCII 코드인 97 을 기준으로 이보다 큰수는 소문자.
newText[i] = (char)(text[i] - 32); // ASCII 코드에서 대문자와 소문자는 32 간격 차이를 갖음.
}
}
// System.out.println(Arrays.toString(newText)); // TEST PRINT
for (int i = 0; i < newText.length; i++) {
System.out.print(newText[i]);
}
}
}
'공부하기 > 백준' 카테고리의 다른 글
[Java] 백준 풀기 2742 - 기찍 N (0) | 2023.01.15 |
---|---|
[Python] 백준 풀기 5622 - 다이얼 (0) | 2023.01.14 |
[Java] 백준 풀기 2738 - 행렬 덧셈 (0) | 2023.01.12 |
[Python] 백준 풀기 2747 - 피보나치 수 (2) | 2023.01.11 |
[Python] 백준 풀기 2851 - 슈퍼마리오 (0) | 2023.01.10 |