준내 쉬운 문제인데 자바 안쓴지도 너무 오래됐고 뇌에 주름이 다 없어져버려서 시작..
내가 알고리즘 문제를 다시 풀 줄은 몰랐지 ㅎ...
import java.util.Scanner;
public class E2744 {
public static void main(String[] args){
Scanner sc = new Scanner(System.in);
String str = sc.next();
for(int i=0; i<str.length(); i++){
char ch = str.charAt(i);
if('A' <= ch && ch <= 'Z'){
System.out.print((char)('a' + ch - 'A'));
}else{
System.out.print((char)('A' + ch - 'a'));
}
}
}
}
계산 한 값을 바로 print 하지 않고 문자열에다가 저장하면 더 코드가 간략해지지만 귀찮아...
해당 문제는 아스키코드 값이 포인트...
대문자와 소문자 사이의 거리는 32이므로
대문자를 입력 받았다면 -> 대문자 아스키코드 값에 +32 (ABCD..Zabcd..z 순이기 때문에 +)
소문자를 입력 받았다면 -> 소문자 아스키코드 값에 -32
'스터디 > 알고리즘' 카테고리의 다른 글
[백준 11655] ROT13 (0) | 2022.06.21 |
---|---|
[백준 4375] 1 (0) | 2022.05.15 |
[백준 1159] 농구 경기 (0) | 2022.05.15 |
[백준 1629] 곱셈 (0) | 2022.05.14 |
[백준 10988] 팰린드롬인지 확인하기 (0) | 2022.05.11 |