Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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
- flex item
- 패스트캠퍼스
- js split
- html
- margin-left
- javascript
- 나라사랑카드
- 코딩테스트 js
- 호이스팅
- SVG
- React
- DOM
- udemy
- API
- 프로그래머스 JS
- 리액트
- 바이트디그리
- 노드
- CSS
- Flex Container
- 변수 선언
- flex
- 국비지원
- 자바스크립트
- react강의
- 코딩테스트 lv0
- 내일배움카드
- 프로그래머스 lv0
- K디지털기초역량훈련
- js
Archives
- Today
- Total
꺾이지 않는 마음
[프로그래머스] Lv.0 대문자와 소문자 JS 풀이 본문
🧡문제 설명
문자열 my_string이 매개변수로 주어질 때, 대문자는 소문자로 소문자는 대문자로 변환한 문자열을 return하도록 solution 함수를 완성해주세요.
💛제한사항
- 1 ≤ my_string의 길이 ≤ 1,000
- my_string은 영어 대문자와 소문자로만 구성되어 있습니다.
💚입출력 예
my_string | result |
"cccCCC" | "CCCccc" |
"AbqqheSD" | "aBQQHEsd" |
💙입출력 예 설명
입출력 예 #1
- 소문자는 대문자로 대문자는 소문자로 바꾼 "CCCccc"를 return합니다.
입출력 예 #2
- 소문자는 대문자로 대문자는 소문자로 바꾼 "ABcDeFGHij"를 return합니다.
✨나의 풀이
💜 toUpperCase()를 조건문에 활용
function solution(my_string) { let answer = ""; for (let i of my_string) { if (i.toUpperCase() === i) { answer += i.toLowerCase(); } else { answer += i.toUpperCase(); } } return answer; }
for of 반복문으로 문자열의 문자를 순회하면서 조건문을 사용했다.
기존 문자를 대문자로 변형했을 때 변화가 일어나는지 안일어나는지를 통해 기존 문자가 대문자인지 소문자인지 판별하는 방법이다.
만약 대문자로 변환한 값 === 기존 값이라면, 기존 값은 대문자일테니 소문자로 변환해서 answer에 저장해주고,
대문자로 변환한 값 !== 기존 값이라면, 기존 값은 소문자일테니 대문자로 변환해서 answer에 저장해주면 된다.
말장난 같은데 한 두어번 읽어보면 이해가 될 것이다.
😮다른 풀이
function solution(my_string) { var answer = ''; for (let c of my_string) answer += c === c.toLowerCase() ? c.toUpperCase() : c.toLowerCase(); return answer; }
이렇게 삼항연산자를 사용하면 좀 더 짧은 코드로 작성할 수 있다.
근데 나는 삼항연산자를 쓸 때마다 가독성이 너무 떨어지는 느낌이 들어서 별로 선호하진 않는다.
이 풀이 또한 원리는 내 풀이와 비슷하다.
'코딩테스트 기록' 카테고리의 다른 글
[프로그래머스] Lv.0 합성수 찾기 JS 풀이 (0) | 2022.10.28 |
---|---|
[프로그래머스] Lv.0 가위 바위 보 JS 풀이 (1) | 2022.10.27 |
[프로그래머스] Lv.0 모음 제거 JS 풀이 (0) | 2022.10.27 |
[프로그래머스] Lv.0 문자 반복 출력하기 JS 풀이 (0) | 2022.10.27 |
[프로그래머스] Lv.0 제곱수 판별하기 JS 풀이 (0) | 2022.10.25 |
Comments