https://programmers.co.kr/learn/courses/30/lessons/12926
코딩테스트 연습 - 시저 암호
어떤 문장의 각 알파벳을 일정한 거리만큼 밀어서 다른 알파벳으로 바꾸는 암호화 방식을 시저 암호라고 합니다. 예를 들어 "AB"는 1만큼 밀면 "BC"가 되고, 3만큼 밀면 "DE"가 됩니다. "z"는 1만큼 밀
programmers.co.kr
기본틀
class Solution {
public String solution(String s, int n) {
String answer = "";
return answer;
}
}
첫번째 시도
class Solution {
public String solution(String s, int n) {
char[] arr = s.toCharArray();
//A=65, Z=90, a=97, z=122
for(int i = 0; i < arr.length; i++){
if(arr[i] != ' '){ //공백은 pass
if(arr[i] < 91 && arr[i]+n > 90){ //다시 A로
arr[i] = (char)(64 + arr[i]+n-90);
}else if(arr[i] > 96 && arr[i]+n > 122){ //다시 a로
arr[i] = (char)(96 + arr[i]+n-122);
}else{
arr[i] += n;
}
}
}
String answer = "";
for(int i = 0; i < arr.length; i++){
answer += arr[i];
}
return answer;
}
}
처음에 (char) 안써줬더니 에러 떴었다! (possible lossy conversion from int to char 이라고...)
이 문제는 아스키코드 이용해서 풀 수 있었다~
성공~! ٩( ᐛ )و
휴일인데도 잊지않고 문제푸는 나 대단해~! ٩(๑˃̵ᴗ˂̵)و
'프로그래머스 > Lv.1' 카테고리의 다른 글
Lv.1 수박수박수박수박수박수? (0) | 2022.05.30 |
---|---|
Lv.1 문자열을 정수로 바꾸기 (0) | 2022.05.30 |
Lv.1 이상한 문자 만들기 (0) | 2022.05.28 |
Lv.1 약수의 합 (0) | 2022.05.27 |
Lv.1 자릿수 더하기 (0) | 2022.05.26 |