알고리즘 풀이 방법입니다.
문제(Problem) -> 생각(Think) -> 해결책(Solution) -> 리뷰(Review) 를 통해서 정리해서 작성합니다.
Problem📄
https://programmers.co.kr/learn/courses/30/lessons/12926
코딩테스트 연습 - 시저 암호
어떤 문장의 각 알파벳을 일정한 거리만큼 밀어서 다른 알파벳으로 바꾸는 암호화 방식을 시저 암호라고 합니다. 예를 들어 "AB"는 1만큼 밀면 "BC"가 되고, 3만큼 밀면 "DE"가 됩니다. "z"는 1만큼 밀
programmers.co.kr
Think🤔
AB에서 1밀면 BC
ABCDE
AB에서 3밀면
DE가 됨
마지막 z에서 밀면 a가 됨
1밀면 BC
2밀면 CD
3밀면 DE
122
65
57
대문자 A~Z 65~90
소문자 a~z 97~122
공백은 공백 그대로..
각 문자들이 숫자에 영향을 받는다
6 7 8 10 12
Solution✍
class Solution {
public String solution(String s, int n) {
String answer = "";
char[] ch = s.toCharArray();
for(char c : ch){
if(c == ' '){ // 공백일 시 넘어감
answer+=" ";
continue;
}else{
char temp = (char)(c+n);
if(temp > 122 && c <= 122){
answer += (char)(temp-26);
}else if(temp > 90 && temp < 97 || temp > 90 && c <= 90 ){
answer += (char)(temp-26);
}else{
answer += temp;
}
}
}
return answer;
}
}
Review🤩
소문자는 소문자 , 대문자는 대문자 if else if문이 중요하다는것을 알게됨.
'Algorithm' 카테고리의 다른 글
[프로그래머스] SQL 2LEVEL(고양이와 개는 몇 마리, 루시와 엘라 찾기, 최솟값 구하기) (0) | 2022.02.11 |
---|---|
[프로그래머스] SQL 1LEVEL 문제 모음 (0) | 2022.02.11 |
[프로그래머스] 소수 찾기 (0) | 2022.02.04 |
[프로그래머스] 문자열 내 p와 y의 개수 (0) | 2022.02.04 |
[프로그래머스] 이상한 문자 만들기 (0) | 2022.02.04 |