[level 1] 이상한 문자 만들기

2022. 1. 16. 14:30·알고리즘/JavaScript

문제

 

풀이 코드

function solution(s) {
  let str = '';
  str = s
    .split(' ')
    .map((item) =>
      item
        .split('')
        .map((st, index) =>
          index % 2 == 0 ? st.toUpperCase() : st.toLowerCase()
        )
        .join('')
    )
    .join(' ');
  return str;
}

 

풀이 과정

문제를 보자마자 split 으로 나누고, map 을 통해 구현하고, join 으로 다시 문자열을 합치면 된다는 생각이 들었다.

풀이 단계를 설명하면 다음과 같다

1. 입력된 문자열 s 를 공백( ' ' ) 기준으로 나눈다.
2. 나뉘어진 문자열은 배열로 공백을 기준으로 배열로 저장된다. 해당 배열을 map 함수로 보낸다.
3. 첫번째 map 함수에서, 또 다시 각 배열의 요소를 한글자씩 나누어 배열로 저장한다.
4. 한글자씩 나뉘어진 요소들의 인덱스가 짝수이면 대문자로 변환, 홀수이면 소문자로 변환하여 반환한다.
5. 반환된 배열의 요소들을 다시 join 함수로 문자열로 만든다.
6. 각 배열 인덱스에 변환된 문자열들을 하나의 문자열로 다시 join 을 이용해 만들어 반환한다

 

다른사람의 코드

function toWeirdCase(s){
  return s.toUpperCase().replace(/(\w)(\w)/g, function(a){return a[0].toUpperCase()+a[1].toLowerCase();})
}

훨씬 간단하게 구현 하셨다

정규식을 이용한 풀이라니 많이 배워간다!

'알고리즘/JavaScript' 카테고리의 다른 글
  • [level 1] 서울에서 김서방 찾기
  • [level 1] 소수 찾기
  • [level 1] 수박수박수?
  • [level 1] 약수의 합
Jeohong
Jeohong
기억 보단 기록을
  • Jeohong
    Chikong Devlog
    Jeohong
  • 전체
    오늘
    어제
    • 분류 전체보기 (186)
      • ---- 개발 컨텐츠 ---- (0)
      • iOS (30)
        • Swift 문법 (1)
        • iOS 개념 (12)
        • HIG (5)
        • SwiftUI (7)
        • UIKit (4)
      • Side Project (0)
      • 개발서적 (4)
        • 객체지향 사실과 오해 (4)
      • 알고리즘 (74)
        • 자료구조 개념 (2)
        • Swift (25)
        • JavaScript (47)
      • ---- 회고 계획 컨텐츠 ---- (0)
      • 계획 및 일기 (10)
      • 회고록 (1)
      • 컨퍼런스 탐방 (1)
      • 미드로 영린이 탈출하기 (1)
      • ---- Previous content ---- (0)
      • Frontend (2)
        • HTML & CSS (2)
      • KITRI 수업 (17)
        • 리눅스 (14)
        • 네트워크 (2)
      • 42seoul (17)
        • Bonr2code (9)
        • 넋두리 (7)
        • 멘토특강 (1)
      • 해킹 실습 (20)
        • 해커스쿨 - F.T.Z (19)
        • WebGoat (1)
      • Tensorflow로 시작하는 NLP (1)
        • 예제 (1)
      • 자연어처리 입문 (1)
        • 이론 (1)
      • 텐서플로로 배우는 딥러닝 (7)
        • 이론 (2)
        • 예제 (5)
  • 블로그 메뉴

    • 홈
    • 태그
  • 링크

  • 공지사항

  • 인기 글

  • 태그

    알고리즘
    boj
    라피신
    백준
    본과정
    Algorithm
    javascript
    프로그래머스
    스위프트
    swift
    1서클
    코딩
    자료구조
    42seoul
    hig
    개발자
    42서울
    SwiftUI
    네트워크
    IOS
  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.4
Jeohong
[level 1] 이상한 문자 만들기
상단으로

티스토리툴바