개발자도전
[프로그래머스] 대문자와 소문자 본문
728x90
[문제]
문자열 my_string이 매개변수로 주어질 때, 대문자는 소문자로 소문자는 대문자로 변환한 문자열을 return하도록 solution 함수를 완성해주세요.
제한사항
- 1 ≤ my_string의 길이 ≤ 1,000
- my_string은 영어 대문자와 소문자로만 구성되어 있습니다.
[입출력 예]
| my_string | result |
| "cccCCC" | "CCCccc" |
| "abCdEfghIJ" | "ABcDeFGHiJ" |
입출력 예 #1
- 소문자는 대문자로 대문자는 소문자로 바꾼 "CCCccc"를 return합니다.
입출력 예 #2
- 소문자는 대문자로 대문자는 소문자로 바꾼 "ABcDeFGHij"를 return합니다.
[답]
풀이 1.

처음엔 my_string의 i번째 값이 소문자면 대문자로, 대문자면 소문자로 바꿔줘야 해서 char의 아스키번호만큼 범위를 지정해 변환시켜 answer에 값을 더해주었다.
대문자는 65-90까지 / 소문자는 97-122까지이다.
제출을 하고 보니 시간이 너무 오래걸리는 걸 보았다.
아마 if문에서 범위를 한 번더 체크해서 오래걸리는거라 생각이 되었다.
다른 사람들의 풀이는 참고해서 다시 한 번 작성해보았다.
풀이 2.

my_string의 i번째 값을 c에 저장시켜 준 후
c가 대문자인지 소문자인지 isUpperCase(c)와 isLowerCase(c)로 확인 해준 후 대문자와 소문자로 변환시켜 answer에 append 시켜주는 코드를 작성해보았다.
이렇게 코드를 작성해주니 성능이 훨씬 좋아진 것을 볼 수 있었다.
728x90
'프로그래머스 코딩 테스트' 카테고리의 다른 글
| [프로그래머스] 인덱스 바꾸기 (0) | 2023.04.04 |
|---|---|
| [프로그래머스] 영어가 싫어요 (0) | 2023.04.04 |
| [프로그래머스] 암호 해독 (0) | 2023.04.01 |
| [프로그래머스] 369게임 (0) | 2023.04.01 |
| [프로그래머스] 가까운 수 (0) | 2023.04.01 |
Comments