본문 바로가기
Problem Solving/프로그래머스

[프로그래머스 | 파이썬 / 자바스크립트] 대문자와 소문자(코딩테스트 입문/ level 0)

by 청량리 물냉면 2023. 2. 25.
반응형
문제

https://school.programmers.co.kr/learn/courses/30/lessons/120893?language 

 

프로그래머스

코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.

programmers.co.kr

 

 

🐍파이썬
def solution(my_string):
    return ''.join([i.lower() if i.isupper() else i.upper() for i in my_string])

 

 

다른 풀이 방법

def solution(my_string):
    return my_string.swapcase()

swapcase()

  • 대문자와 소문자의 문자열을 변환하는 데 사용된다
  • 반환값: 변환이 완료된 문자열

 

 

🐥자바스크립트
function solution(my_string) {
    var answer = '';
    for(let i of my_string){
        if(i === i.toUpperCase()){	// i가 대문자인 경우
            answer += i.toLowerCase();	//i를 대문자로 바꾸어 answer에 추가
        } else {
            answer += i.toUpperCase();
        }
    }
    return answer;
}

 

 

다른 풀이 방법

function solution(my_string) {
    var answer = '';
    for (let c of my_string) answer += c === c.toLowerCase() ? c.toUpperCase() : c.toLowerCase();
    return answer;
}

for문 약식표현 사용 (참고: https://tinyurl.com/2jv56b8z)

 

자바스크립트 for 반복문 약식 표현 예제보기

자바스크립트를 사용하여 for 루프문을 간단하게 사용하는 약식 표현, 한줄 사용 문법을 알아봅니다.

webisfree.com

 

function solution(my_string) {
    return my_string.split('').map(n => n === n.toUpperCase() ? n.toLowerCase() : n.toUpperCase()).join('')
}

split(), map() 사용

 

function solution(my_string) {
    return my_string.split("").map((v, index) => my_string.charCodeAt(index) < 97 ? v.toLowerCase() : v.toUpperCase()).join("");
}

아스키 코드 이용한 문제풀이

charCodeAt()

출처: mozilla.org

 

 

참고

한 줄짜리 if 문, for 문 그리고 함수

https://so-tired.tistory.com/66

 

한 줄짜리 if 문, for 문 그리고 함수

조건문을 작성할 때마다 한 줄로 작성할 수 있을 것 같으면 중괄호를 표시할지 혹은 삼항 연산자를 사용할지 고민하곤 한다. 그래서 이에 대해 커뮤니티에서 얻은 답변 내용과 내 생각을 적어두

so-tired.tistory.com

 

반응형