반응형
문제
- 링크: https://school.programmers.co.kr/learn/courses/30/lessons/12926
풀이
Java
(solution 1)
더보기
ㅇ
JavaScript
(solution 1)
더보기
function solution(s, n) {
var answer = '';
const capitalAlphabets = "ABCDEFGHIJKLMNOPQRSTUVWXYZ";
const smallAlphabets = "abcdefghijklmnopqrstuvwxyz";
for (let i = 0; i < s.length; ++i) {
if (s[i] >= 'A' && s[i] <= 'Z') {
answer += capitalAlphabets[parseInt((capitalAlphabets.indexOf(s[i]) + n) % 26)];
} else if (s[i] >= 'a' && s[i] <= 'z') {
answer += smallAlphabets[parseInt((smallAlphabets.indexOf(s[i]) + n) % 26)];
} else {
answer += s[i];
}
}
return answer;
}
1) 문자열을 순회하면서 문자 추출
2) 추출한 문자의 범위 비교
- 대문자, 소문자, 공백
3) Alphabets에서 해당 문자의 인덱스 확인후 n만큼 더하고 26(문자개수)로 나누기
4) Alphabets에서 3에서 나온 숫자위치의 문자를 answer에 더함
(학습포인트)
- 문자열에서 특정 문자 탐색
더보기
str.indexOf('문자', 시작인덱스=0); // 동일한 첫 문자 인덱스 반환
- 문자열 범위 비교
더보기
let ch = 'C'
if (ch >= 'A' && ch <= 'Z') {...} // ch가 A부터 Z사이 값일 경우 조건문 실행
반응형
'코딩테스트 문제집 > Programmers(Lv1)' 카테고리의 다른 글
[Programmers] Lv1: 직사각형 별찍기(12969) (0) | 2025.06.24 |
---|---|
[Programmers] Lv1: 소수 찾기(12921) (0) | 2025.06.23 |
[Programmers] Lv1: 문자열을 정수로 바꾸기(12925) (0) | 2025.06.23 |
[Programmers] Lv1: 수박수박수박수박수박수?(12922) (0) | 2025.06.23 |
[Programmers] Lv1: 서울에서 김서방 찾기(12919) (0) | 2025.06.23 |