☞ 문제

 

 

 

 

☞ 코드

 

 

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
50
51
52
53
54
55
56
57
58
59
60
package algo01;
 
import java.util.Scanner;
 
public class CaesarCode {
//    어떤 문장의 각 알파벳을 일정한 거리만큼 밀어서 다른 알파벳으로 바꾸는 암호화 방식을 시저 암호라고 합니다. 
//    예를 들어 AB는 1만큼 밀면 BC가 되고, 3만큼 밀면 DE가 됩니다. z는 1만큼 밀면 a가 됩니다. 
//    문자열 s와 거리 n을 입력받아 s를 n만큼 민 암호문을 만드는 함수, solution을 완성해 보세요.
    
    public static String solution(String s, int n) {
        
        String answer = "";
        char[] charAs = s.toCharArray();    
        char ch = 0;
        int a = 0;                //아스키코드 값과 입력 받은 값을 더한 변수
      
        for(int i = 0; i < charAs.length; i++) {
            a = (int)charAs[i];
    
            if(a > 64 && a < 91) {
                a += n;
                if(a > 90) {
                    a -= 26;            //ex) z, 2를 입력했을 때, 92가 되지만 66이 나와야 하기 때문에 -26
                }
            } else if(a > 96 && a < 123) {
                a = a + n;
                if(a > 122) {
                    a = a - 26;
                }
            }
            
            ch = (char)a;
            charAs[i] = ch;
    
        }
        
        answer = String.valueOf(charAs);
          
        return answer;
    }
    
    
    public static void main(String[] args) {
    
        String s;
        int n;
        
        Scanner sc = new Scanner(System.in);
        System.out.println("문자열을 입력해주세요.");
        s = sc.nextLine();
        Scanner sc2 = new Scanner(System.in);
        System.out.println("숫자를 입력해주세요.");
        n = sc.nextInt();
         
        System.out.println(solution(s,n));
    }
}
 
http://colorscripter.com/info#e" target="_blank" style="color:#4f4f4f; text-decoration:none">Colored by Color Scripter
 

 

 

 

☞ 실행결과

 

 

 

 

 

음 조건문만 잘 주면 쉬운 문제였당^^.....

다음 문제부터는 for문을 활용할 때 향상된 for문을 써봐야겠다~!

 

아 그리고 이제 정확성은 귀찮아서 스샷 안 찍으련다....ㅎ....

 

 

 

'Algorithm' 카테고리의 다른 글

예산  (1) 2019.05.03
콜라츠 추측  (0) 2019.04.28
나누어 떨어지는 숫자 배열  (2) 2019.04.22
두 정수 사이의 합  (4) 2019.04.18
가운데 글자 가져오기  (1) 2019.04.15

+ Recent posts