[수박수박수?]
https://programmers.co.kr/learn/courses/30/lessons/12922
* 로직
- 1부터 n까지 진행하면서
- 홀수 -> "수"
- 짝수 -> "박"
class Solution {
public String solution(int n) {
String answer = "";
StringBuilder sb = new StringBuilder();
int i=1;
while (i <= n) {
if(i%2 == 0) sb.append("박");
else sb.append("수");
i++;
}
return answer = sb.toString();
}
}
[문자열을 정수로 바꾸기]
https://programmers.co.kr/learn/courses/30/lessons/12925
* 로직
- parseInt를 통해 정수로 바꾼다
class Solution {
public int solution(String s) {
int answer = 0;
return answer = Integer.parseInt(s);
}
}
[시저 암호]
https://programmers.co.kr/learn/courses/30/lessons/12926
* 로직
- 문자열 길이만큼 탐색하면서
- 현재 글자가 공백이면 공백을 추가
- 현재 문자가 대문자이면서 (현재 문자 + n만큼 증가) 값이 Z를 넘어가는 경우 -> 사이클을 돌린 값 추가
- 현재 문자가 소문자이면서 (현재 문자 + n만큼 증가) 값이 z를 넘어가는 경우 -> 사이클을 돌린 값 추가
- 위 3가지 조건을 벗어난다면 (현재 문자 + n만큼 증가)한 값을 추가
class Solution {
public String solution(String s, int n) {
String answer = "";
StringBuilder sb = new StringBuilder();
for(int i=0; i<s.length(); ++i) {
char ch = s.charAt(i);
if(ch == ' ') {
sb.append(ch);
continue;
}
int idx_origin = (int) ch;
int idx = ch + n;
// 현재 문자가 대문자인 상황에서 Z를 넘어가는 경우
if(idx_origin < 97 && idx > 90) {
idx = (idx_origin - 25) + (n-1);
sb.append((char) idx);
}
// 현재 문자가 소문자인 상황에서 z를 넘어가는 경우
else if(idx_origin >= 97 && idx > 122) {
idx = (idx_origin - 25) + (n-1);
sb.append((char)idx);
}
else sb.append((char) idx);
}
return answer = sb.toString();
}
}
'Algorithm > Problem_프로그래머스' 카테고리의 다른 글
프로그래머스(약수의 합, 이상한 문자 만들기, 자릿수 더하기, 자연수 뒤집어 배열로 만들기) - Java (0) | 2020.05.29 |
---|---|
프로그래머스(종이접기) - Java (0) | 2020.05.25 |
프로그래머스(서울에서 김서방 찾기, 소수 찾기) - Java (0) | 2020.05.25 |
프로그래머스(문자열 내림차순으로 배치하기, 문자열 다루기 기본) - Java (0) | 2020.05.25 |
프로그래머스(문자열 내 p와 y의 개수) - Java (2) | 2020.05.20 |