반응형
🔺 문제
프로그래머스
코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.
programmers.co.kr
🔺 코드
음 참고를 하였다..
[프로그래머스 Lv.1] 시저암호 java
문제설명 어떤 문장의 각 알파벳을 일정한 거리만큼 밀어서 다른 알파벳으로 바꾸는 암호화 방식을 시저 암호라고 합니다. 예를 들어 AB는 1만큼 밀면 BC가 되고, 3만큼 밀면 DE가 됩니다. z는 1만
ivory-room.tistory.com
class Solution {
public String solution(String s, int n) {
String answer = "";
for(int i=0 ; i < s.length() ; i++) {
char ch = s.charAt(i);
// 공백인 경우
if(ch == ' ') {
answer += ch;
continue;
}
// 소문자인 경우
if('a' <= ch && ch <= 'z') {
if(ch + n > 'z') answer += (char)(ch - 26 + n);
else answer += (char)(ch + n);
}
// 대문자인 경우
else if ('A' <= ch && ch <= 'Z'){
if(ch + n > 'Z') answer += (char)(ch - 26 + n);
else answer += (char)(ch + n);
}
}
return answer;
}
}
암호화된 문자열 값이 'z'를 넘겼을 때 다시 a부터 시작해 암호화를 진행하도록 해야 한다.
이 때 빼는 값 26은 알파벳 갯수라고...
🔺 다른 풀이들
프로그래머스
코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.
programmers.co.kr
class Caesar {
String caesar(String s, int n) {
String result = "";
n = n % 26;
for (int i = 0 ; i < s.length(); i++) {
char ch = s.charAt(i);
if (Character.isLowerCase(ch)) {
ch = (char) ((ch - 'a' + n) % 26 + 'a');
} else if (Character.isUpperCase(ch)) {
ch = (char) ((ch - 'A' + n) % 26 + 'A');
}
result += ch;
}
return result;
}
}
반응형
'코테 > 프로그래머스' 카테고리의 다른 글
[프로그래머스/Lv. 1] 소수 만들기 (0) | 2023.03.11 |
---|---|
[프로그래머스/Lv. 1] 삼총사 (0) | 2023.03.10 |
[프로그래머스/Lv. 1] 3진법 뒤집기 (0) | 2023.03.07 |
[프로그래머스/Lv. 1] 모의고사 (0) | 2023.03.06 |
[프로그래머스/Lv. 1] 두 개 뽑아서 더하기 (0) | 2023.03.06 |