반응형
🔐 문제 설명
https://school.programmers.co.kr/learn/courses/30/lessons/12926
프로그래머스
코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.
programmers.co.kr
🔐 문제 분석
- 주어진 문자를 순차적으로 접근하여 n만큼 더하여 n번째 뒤에 있는 문자를 구한다.
- 단 공백일 경우는 그대로 공백을 사용한다.
- n을 더해서 구한 문자가 z 혹은 Z를 넘었을 경우에는 알파벳의 개수인 26을 빼서 소문자는 소문자 내에서, 대문자는 대문자 내에서 순환하도록 한다.
(* n은 25이하의 자연수이므로 나머지 연산 대신 뺄셈으로 충분하다.)
🔐 문제 풀이
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 (s.charAt(i) == ' ') {
answer += ' ';
} else {
if (Character.toLowerCase(s.charAt(i)) + n > 'z' &&
('a' <= Character.toLowerCase(s.charAt(i)) && Character.toLowerCase(s.charAt(i)) <= 'z')) {
answer += (char) ((ch + n - 26));
} else {
answer += (char) ((ch + n));
}
}
}
return answer;
}
}
반응형
'Algorithm' 카테고리의 다른 글
[프로그래머스] Lv1. 숫자 문자열과 영단어 (0) | 2023.06.06 |
---|---|
[프로그래머스] Lv1. 크기가 작은 부분 문자열 (0) | 2023.06.06 |
[프로그래머스] Lv1. 최대공약수와 최소공배수 (0) | 2023.06.06 |
[프로그래머스] Lv1. 3진법 뒤집기 (0) | 2023.06.06 |
[프로그래머스] Lv1. 이상한 문자 만들기 (0) | 2023.06.05 |