Notice
Recent Posts
Recent Comments
Link
«   2026/06   »
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
Tags
more
Archives
Today
Total
관리 메뉴

개발자도전

[프로그래머스] 대문자와 소문자 본문

프로그래머스 코딩 테스트

[프로그래머스] 대문자와 소문자

도do 2023. 4. 2. 00:11
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
Comments