https://www.acmicpc.net/problem/2744
문제
- 첫째 줄에 영어 소문자와 대문자로만 이루어진 단어 word ( 1 <= word.length() <= 100 ) 이 입력된다.
- 입력받은 단어를 대문자를 소문자로, 소문자는 대문자로 바꾸어 출력하라.
정답 코드
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
public class Main {
public static void main(String[] args) throws IOException {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
String word = br.readLine();
StringBuilder sb = new StringBuilder();
for (int i = 0; i < word.length(); i++) {
if (Character.isLowerCase(word.charAt(i))) {
sb.append(Character.toUpperCase(word.charAt(i)));
}else{
sb.append(Character.toLowerCase(word.charAt(i)));
}
}
System.out.println(sb);
}
}
Character의 함수를 잘 이용하면 쉽게 풀리는 문제이다.
Character의 함수를 이용하지 않으려면 아스키코드를 이용하여 대문자와 소문자의 범위를 지정하여 구분하여 해당 문자의 아스키코드 값에서 일정한 수를 더하거나 빼주면 변환이 가능할 것 같다.
'백준 문제 풀이 > 백준 (JAVA)' 카테고리의 다른 글
JAVA 백준 10158 개미 (수학) (0) | 2025.05.03 |
---|---|
JAVA 백준 13223 소금 폭탄 (문자열) (1) | 2025.05.01 |
JAVA 백준 1543 문서 검색 (문자열) (0) | 2025.04.30 |
JAVA 백준 1919 애너그램 만들기 (문자열) (0) | 2025.04.30 |
JAVA 백준 10845 큐 (큐) (0) | 2025.04.29 |