반응형
[알고리즘] 11655 ROT13
https://www.acmicpc.net/problem/11655
[풀이]
- 아스키코드값을 이용해서 풀었다.
- 소문자와 대문자를 구분해서 if문으로 분리
- 만약 범위를 넘어갈 경우 한번 더 계산하도록 했다.
[코드]
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 | package algorithm_basic; import java.util.Scanner; public class p_2743 { public static void main(String[] args) { Scanner scan = new Scanner(System.in); char[] line = scan.nextLine().toCharArray(); int[] arr = new int[line.length]; for(int i=0;i<line.length;i++) { int line_num=(int)line[i]; //소문자 계산 if(line_num>=97 && line_num<=122) { arr[i]=line_num+13; if(arr[i]>122) { arr[i]=96+(arr[i]-122); } line[i]=(char) arr[i]; } //대문자 계산 if(line_num>=65 && line_num<=90) { arr[i]=line_num+13; if(arr[i]>90) { arr[i]=64+(arr[i]-90); } line[i]=(char) arr[i]; } } System.out.println(line); } } | cs |
반응형
'CS > Algorithm' 카테고리의 다른 글
[알고리즘][DP][1463] 1로 만들기 (0) | 2018.03.20 |
---|---|
[알고리즘] 11656 접미사배열 (0) | 2018.03.19 |
[알고리즘] 단어 길이 재기 - 시간복잡도 (0) | 2018.03.18 |
[알고리즘] 10820 문자열 분석 (0) | 2018.03.17 |
[알고리즘] 10808 알파벳 (0) | 2018.03.17 |
댓글