반응형
알고리즘문제 일주일에 2회이상 풀기 3주차~
오늘은 시저암호를 구현해 보았습니다.
문제보시죵
<문제>
![[프로그래머스] 시저암호 [프로그래머스] 시저암호](http://t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png)
<코드>
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
38
39
40
41
42
43
44
45
46
47
48
49
|
package com.java.programers;
import java.util.Arrays;
public class Solution4 {
public static void main(String[] args) {
Scanner scan = new Scanner(System.in);
System.out.println("시저암호문에 적용할 문자열을 입력하세요");
String str = scan.nextLine();
System.out.println("거리(숫자)를 입력하세요");
int num = scan.nextInt();
System.out.println(solution(str, num));
}
//시저암호 함수
public static String solution(String s, int n) {
String answer = "";
for (int i = 0; i < s.length(); i++) {
// 대문자일때
if (s.charAt(i) >= 65 && s.charAt(i) <= 90) {
if (s.charAt(i) + n > 90) {
answer += (char) (s.charAt(i) + n - 26);
} else {
answer += (char) (s.charAt(i) + n);
}
}
// 소문자일때
if (s.charAt(i) >= 97 && s.charAt(i) <= 122) {
if (s.charAt(i) + n > 122) {
answer += (char) (s.charAt(i) + n - 26);
} else {
answer += (char) (s.charAt(i) + n);
}
}
// 공백일떄
if (s.charAt(i) == 32) {
answer += " ";
}
}
return answer;
}
}
http://colorscripter.com/info#e" target="_blank" style="color:#4f4f4f; text-decoration:none">Colored by Color Scripter
|
<실행결과>
![[프로그래머스] 시저암호 [프로그래머스] 시저암호](https://blog.kakaocdn.net/dn/1hls8/btquKHYBrJc/2RHThCzZJkQ3dA7obFqT00/img.png)
![[프로그래머스] 시저암호 [프로그래머스] 시저암호](https://blog.kakaocdn.net/dn/biwDVF/btquKgfQay0/ZutIOvdT7WrRbvpomZ82l1/img.png)
![[프로그래머스] 시저암호 [프로그래머스] 시저암호](http://t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png)
아스키코드를 이용하여 구현하였더니 쉽게 구현되었다. 재밌는 문제였다
반응형
'알고리즘' 카테고리의 다른 글
[프로그래머스] 같은 숫자는 싫어~ (0) | 2019.04.27 |
---|---|
[프로그래머스] 콜라츠 추측 (0) | 2019.04.26 |
[프로그래머스] 나누어 떨어지는 숫자 배열 (4) | 2019.04.18 |
[프로그래머스] 두 정수 사이의 합 (2) | 2019.04.17 |
[프로그래머스] 가운데 글자 가져오기 (1) | 2019.04.12 |
댓글