class Solution {
public String solution(String s, int n) {
String answer = "";
for(int i=0; i<s.length(); i++){
if(s.charAt(i)==' '){
answer += " ";
continue;
}
int ne = (int)s.charAt(i); //A -> E
if((64<ne && ne <91)){
answer += (ne+n>90) ? (char)(ne+n-90+64) : (char)(ne+n);
}else if((ne>96 && ne<123 )){
answer += (ne+n>122) ? (char)(ne+n-122+96) : (char)(ne+n);
}
}
return answer;
}
}
/*
1. 문자열에서 하나씩 검사 split("")
2. 문자의 개수만큼 반복문을 돌림
3. 문자의 아스키코드값으로 변환하여 n만큼 이동
4. 문자를 합친다.
*/
/* 문자를 ASCII 코드로 바꾸기 char형을 (int) 강제 형 변환
아스키 코드에서 대문자번호와 소문자번호만 구별할 수 있어야함
A = 65 Z = 90 a = 97 z = 122
*/
'코딩테스트 > 프로그래머스' 카테고리의 다른 글
자바(HashMap) (0) | 2023.02.04 |
---|---|
Iterator vs Stream (0) | 2023.01.09 |
[Level 1] 자연수 뒤집어 배열로 만들기 (0) | 2022.08.11 |
[Level 1] 로또의 최고 순위와 최저 순위 (0) | 2022.08.11 |
[Level 1] 로또의 최고 순위와 최저 순위 (0) | 2022.08.11 |
댓글