문제
풀이
알파벳을 13글자씩 밀어서 출력하면 되는데, 알파벳은 26글자 이므로 14번째 글자 부터는 A(a)부터 다시 돌아가서 출력하면 된다.
- x+13<=26, x<=13
- A~Z 아스키코드 값 : 65~96 (26글자)
- 65+13 = 78
- a~z 아스키코드 값 : 97~122 (26글자)
- 97+13 = 110
코드
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));
StringBuilder sb = new StringBuilder();
String s = br.readLine();
char c[] = s.toCharArray();
for(int i=0; i<s.length(); i++) {
if(65<= c[i] && c[i] <= 77) c[i] += 13;
else if(78 <= c[i] && c[i] <= 96) c[i] -= 13;
else if(97 <= c[i] && c[i] <= 109) c[i] += 13;
else if(110 <= c[i] && c[i] <= 122) c[i] -= 13;
sb.append(c[i]);
}
System.out.println(sb);
}
}
'PS(Java) > 백준' 카테고리의 다른 글
[PS] 백준 1406번 에디터 (다시 풀기) (0) | 2022.07.06 |
---|---|
[PS] 백준 1388번 바닥 장식 (0) | 2022.07.06 |
[PS] 백준 10799번 쇠막대기 (0) | 2022.05.30 |
[PS] 백준 10828번 스택 (0) | 2022.05.25 |
[PS] 백준 11004번 K번째 수 (0) | 2022.05.24 |