Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |
Tags
- 프로그래머스 #알고리즘 #mysql #인기있는 아이스크림 #코린이 #개발자 #study
- 프로그래머스 #가장 큰 물고기 10마리 구하기 #mysql #알고리즘 #코린이 #개발자 #study
- 백준 #
- 백준 #네 번째 점 #3009 #자바 #java #알고리즘 #코린이 #개발자 #study
- 백준 #다이얼 #5622 #알고리즘 #자바 #java #코린이 #개발자 #study
- 프로그래머스 #조건에 맞는 회원수 구하기 #mysql #알고리즘 #코린이 #개발자 #study
- 프로그래머스 #python 개발자 찾기 #알고리즘 #mysql #코린이 #개발자 #study
- 코린이 #개발자 #study
- 프로그래머스 #나이 정보가 없는 회원 수 구하기 #mysql #알고리즘 #코린이 #개발자 #study
- 백준 #4153 #직각삼각형 #알고리즘 #자바 #java #코린이 #개발자 #study
- 프로그래머스 #mysql #알고리즘 #어린 동물 찾기 #코린이 #개발자 #study
- 프로그래머스 #과일로 만든 아이스크림 고르기 #mysql #알고리즘 #코린이 #개발자 #study
- 프로그래머스 #mysql #알고리즘 #코린이 #개발자 #study
- 프로그래머스 #mysql #동명 동물 수 찾기 #알고리즘 #코린이 #개발자
- 프로그래머스 #mysql #흉부외과 또는 일반외과 의사 목록 출력하기 #알고리즘 #코린이 #개발자 #study
- 프로그래머스 #mysql #역순 정렬하기 #알고리즘 #코린이 #개발자 #study
- 프로그래머스 #mysql #알고리즘 #자동차 대여 기록에서 장기/단기 대여 구분하기 #코린이 #개발자 #study
- 프로그래머스 #한 해에 잡은 물고기 수 구하기 #mysql #알고리즘 #코린이 #개발자 #study
- 백준 #일곱 난쟁이 #2309 #자바 #java #알고리즘 #코린이 #개발자 #study
- 프로그래머스 #mysql #경기도에 위치한 식품창고 목록 출력하기 #알고리즘 #코린이 #개발자 #study
- 프로그래머스 #알고리즘 #mysql #
- 프로그래머스 #mysql #12세 이하인 여자 환자 목록 출력하기 #알고리즘 #코린이 #개발자 #study
- mysql #min() #max() #최소값 #최대값 #코린이 #개발자 #study
- 프로그래머스 #mysql #알고리즘 #이름이 있는 동물의 아이디 #코린이 #개발자 #study
- 프로그래머스 #모음 제거 #알고리즘 #자바 #java #코린이 #개발자 #study
- 프로그래머스 #아픈 동물 찾기 #mysql #알고리즘 #코린이 #개발자 #study
- 특정 옵션이 포함된 자동차 리스트 구하기 #코린이 #개발자 #study
- 프로그래머스 #잡은 물고기 중 가장 큰 물고기의 길이 구하기 #알고리즘 #mysql #코린이 #개발자 #study
- 프로그래머스 #잡은 물고기의 평균 길이 구하기 #mysql #알고리즘 #코린이 #개발자 #study
- 프로그래머스 #동명 동물 수 찾기 #mysql #데이터베이스 #db #코린이 #개발자 #알고리즘
Archives
- Today
- Total
luke
[프로그래머스] - 시저 암호 (자바/Java) 본문
https://school.programmers.co.kr/learn/courses/30/lessons/12926
문제.
풀이.
class Solution {
public String solution(String s, int n) {
String answer = "";
char[] split = s.toCharArray();
int big = (int)'Z' - (int)'A' + 1;
int small = (int)'z' - (int)'a' + 1;
for (int i =0;i<split.length;i++){
if (split[i] != ' ') {
if ((int)'Z' < ((int) split[i]) + n && (int)split[i] <=90) {
split[i] = (char) ( ((int)split[i]) + n - big);
}else if ((int)'z' < ((int) split[i]) + n){
split[i] = (char) ( ((int)split[i]) + n - small);
}else{
split[i] = (char)(((int)split[i])+n);
}
}
answer += split[i];
}
return answer;
}
}
오늘 문제는 프로그래머스 " 시저 암호 " 문제다.
아스키코드를 바탕으로 문제를 풀었으며 바로 문제 풀이를 해보겠다.
1. 문자열 입력받은 값들을 toCharArray() 함수를 사용해 한 문자씩 배열로 담아준다.
2. 변수 big, small이 있는데 big은 대문자 아스키코드 값 small은 소문자 아스키코드 값으로 나타냈다.
3. 입력한 문자열 길이 만큼 반복을 하며 문제 중 3번 예제는 공백을 그대로 출력해야 해서 공백이 아닐 경우라는 조건식을 걸어 줬다.
4. 사실 n입력값을 받아 이동한 문자 출력은 어렵지 않았다고 생각 든다. 다만 z에서 1입력을 받으면 a로 넘어가야 하기에 char타입인 문자 값들을 int형변환을 통해 아스키코드 숫자 값을 나타낸다.
5. 아스키코드 값을 나타냈을때 z의 아스키코드 값이 split[i] 보다 작다면 split[i]는 split[i] 값 + n(이동 횟수) 값 - big 또는 small의 길이를 빼야 알파벳 처음인 A, a로 넘어간다.
6. 나머지는 split[i] 값 + n(이동 횟수)을 출력하면 끝이다.
'알고리즘문제 > 프로그래머스(Java)' 카테고리의 다른 글
[프로그래머스] - 가장 가까운 같은 글자 (자바/Java) (0) | 2024.06.12 |
---|---|
[프로그래머스] - 숫자 문자열과 영단어 (자바/Java) (2) | 2024.06.04 |
[프로그래머스] - 최소직사각형 (자바/Java) (0) | 2024.05.30 |
[프로그래머스] - 삼총사 (자바/Java) (0) | 2024.05.28 |
[프로그래머스] - 이상한 문자 만들기 (자바/Java) (0) | 2024.05.25 |