이제는 사용하지 않는 공부방/Java

시저 암호, 프로그래머스 문제

환상상상속상 2019. 4. 16. 00:52

어떤 문장의 각 알파벳을 일정한 거리만큼 밀어서 다른 알파벳으로 바꾸는 암호화 방식을 시저 암호라고 합니다. 예를 들어 AB는 1만큼 밀면 BC가 되고, 3만큼 밀면 DE가 됩니다. z는 1만큼 밀면 a가 됩니다. 문자열 s와 거리 n을 입력받아 s를 n만큼 민 암호문을 만드는 함수, solution을 완성해 보세요.

 

풀어내긴했는데 ㅠㅠ 실행시간이 너무 오래걸려서 까였다.

 

1)문자 초기화

char c = '\0';

 

2) c언어의 아스키코드처럼 이용가능하다 대신, char로 형변환해주자.

'a' = 97 , 'z' = 122 를 이용하자.

 

다시 풀어보자

 

1)대/소문자 확인

Character.isLowerCase(char)

Character.isUpperCase(char)

 

2)if문을 써서 시간이 오래걸리는 걸 수학적으로 해결

버퍼를 이용해서 받은 후 toString()을 이용하여 변경