Notice
Recent Posts
Recent Comments
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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
- JPA
- Eclipse
- IntelliJ
- kotlin
- JavaScript
- Vue
- 쿼리
- jquery
- Git
- 생성
- Java
- GitHub
- Security
- error
- 자바
- 오라클
- 프로그래머스
- 에러
- 코틀린
- 스프링
- aws
- 시큐리티
- db
- 알고리즘
- 함수
- oracle
- mybatis
- 넥사크로
- Spring
- 방법
Archives
- Today
- Total
송민준의 개발노트
프로그래머스-level1-시저 암호 본문
https://programmers.co.kr/learn/courses/30/lessons/12926
입력받은 문자를 전달받은 숫자만큼 뒤로 미루는 문제이다.
z : 1칸 -> a 이런식으로 대소문자를 구분해야한다.
Z : 2칸 -> B
처음으로 만든 코드는 4번까지만 통과하고 5번부터는 통과가 안됐다...
다른 코드를 참고해서 만든 코드...
(원 값 - 'A' + 밀어내는 범위)%26
=> a~z까지의 범위 내에서 순환된다. 마지막에 + A를 해주면 해당값이 된다.
나도 이해하는데 좀 시간이 걸렸다...
class Solution {
public String solution(String a, int b) {
String s = "";
char[] temp = a.toCharArray();
for(int i =0; i < a.length(); i++) {
if(temp[i] != ' ') {
if(Character.isLowerCase(temp[i])) {
temp[i]=(char)((temp[i]-'a'+b)%26+'a');
}else if(Character.isUpperCase(temp[i])) {
temp[i]=(char)((temp[i]-'A'+b)%26+'A');
}
s += temp[i];
} else {
s += " ";
}
}
return s;
}
}
'알고리즘 > 프로그래머스' 카테고리의 다른 글
프로그래머스-level1-소수 찾기(에라토스테네스의 체) (0) | 2019.11.04 |
---|---|
프로그래머스-level1-모의고사 (0) | 2019.11.03 |
프로그래머스-level1-수박수박수박수박수? (0) | 2019.11.01 |
프로그래머스-level1-문자열 압축 (0) | 2019.11.01 |
프로그래머스-level1-체육복(탐욕법) (0) | 2019.10.27 |