Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
Tags
- SQL
- Tree
- two pointers
- Data Structure
- Number Theory
- 구현
- Method
- Binary Tree
- bit manipulation
- dynamic programming
- Matrix
- array
- greedy
- Class
- Math
- database
- simulation
- geometry
- Counting
- 자바
- 코딩테스트
- implement
- Stack
- hash table
- java
- sorting
- string
- Binary Search
- 파이썬
- 코테
Archives
- Today
- Total
코린이의 소소한 공부노트
[프로그래머스/Lv.1] 시저 암호 본문
1. Input
1) 문자열 s
2) 거리를 나타내는 정수 n
3) 시저 암호란 어떤 문장의 각 알파벳을 일정한 거리만큼 밀어서 다른 알파벳으로 바꾸는 암호화 방식을 말한다.
2. Output
1) s를 n만큼 민 암호문을 나타내는 문자열
3. Constraint
1) 공백은 아무리 밀어도 공백이다.
2) s는 알파벳 소문자, 대문자, 공백으로만 이루어져 있다.
3) s의 길이는 8,000 이하
4) n은 1 이상, 25 이하인 자연수
4. Example
Input: s=“a B z”, n=4 -> Output: “e F d”
설명:
- a -> b -> c -> d -> e
- B -> C -> D -> E -> F
- z -> a -> b -> c -> d
- 공백은 공백이다.
5. Code
1) 첫 코드(2022/??)
String answer = "";
String[] ss = s.split("");
for(int i=0 ; i<ss.length ; i++) {
if(ss[i].equals(" ")) answer += " ";
else if(ss[i].matches("[a-z]")) {
int c = s.charAt(i) + n;
if(c>122) c -= 26;
answer += (char)c + "";
}
else {
int c = s.charAt(i) + n;
if(c>90) c -= 26;
answer += (char)c + "";
}
} // for i
return answer;
'코딩테스트 풀이 > JAVA' 카테고리의 다른 글
[프로그래머스/Lv.2] 올바른 괄호 (0) | 2022.11.25 |
---|---|
[프로그래머스/Lv.1] 문자열을 정수로 바꾸기 (0) | 2022.11.25 |
[프로그래머스/Lv.1] 약수의 합 (0) | 2022.11.25 |
[프로그래머스/Lv.1] 이상한 문자 만들기 (0) | 2022.11.25 |
[프로그래머스/Lv.1] 자릿수 더하기 (0) | 2022.11.25 |