[코딩테스트 연습] 이상한 문자 만들기 자바스크립트 풀이

2022. 3. 15. 10:06· 알고리즘
목차
  1. 문제 설명
  2. 제한 조건
  3. 입출력 예
  4. 초기 코드
  5. 코드 풀이 설명
  6. 프로그래머스 코딩테스트 연습 - 이상한 문자 만들기
  7. 프로그래머스 코딩테스트 연습 - 다른 문제 풀이(자바스크립트)
반응형

문제 설명

문자열 s는 한 개 이상의 단어로 구성되어 있습니다. 각 단어는 하나 이상의 공백문자로 구분되어 있습니다. 각 단어의 짝수번째 알파벳은 대문자로, 홀수번째 알파벳은 소문자로 바꾼 문자열을 리턴하는 함수, solution을 완성하세요.

제한 조건

  • 문자열 전체의 짝/홀수 인덱스가 아니라, 단어(공백을 기준)별로 짝/홀수 인덱스를 판단해야합니다.
  • 첫 번째 글자는 0번째 인덱스로 보아 짝수번째 알파벳으로 처리해야 합니다.

입출력 예

"try hello world"는 세 단어 "try", "hello", "world"로 구성되어 있습니다. 각 단어의 짝수번째 문자를 대문자로, 홀수번째 문자를 소문자로 바꾸면 "TrY", "HeLlO", "WoRlD"입니다. 따라서 "TrY HeLlO WoRlD" 를 리턴합니다.

초기 코드

function solution(s) {
    var answer = '';
    return answer;
}

코드 풀이 설명

function solution(s) {
    	let answer = [];
	// 먼저 s의 값을 공백을 기준으로 쪼갠다
	let result  = s.split(" ")
    
    // 그리고 i가 0부터 result의 길이만큼 돌게 되는데
    // 이 때 sum이라는 변수를 새로 만들어 문자열을 넣어준다
    for ( let i = 0; i < result.length; i++) {
        let sum = '';
        // 다시한번 이중 for문을 이용하여 j가 result[i]의 길이만큼 돌게 되는데
        // 여기서 만약 j가 짝수라면 sum에 result[i][j]를 대문자로 붙여준다.
        // 만약 j가 홀수라면 sum에 result[i][j]를 소문자로 붙여준다.
        for(let j = 0; j < result[i].length; j++) {
            if (j % 2 === 0) {
                sum += result[i][j].toUpperCase()
            } else {
                sum += result[i][j].toLowerCase()
            }
        }
        // 다음 단계로는 answer에 sum을 push
        answer.push(sum)
    }
    // 마지막으로 분리된 배열을 공백을 기준으로 하나의 문자열로 합쳐서 return
    return answer.join(' ')
}
  • 먼저 배열이 들어갈 빈칸 answer을 만들어주고 s를 공백을 기준으로 쪼갠다.
  • 그리고 i가 0부터 result의 길이만큼 돌면서 새로운 변수인 sum을 만들어준다.
  • 그리고 다시한번 j가 0부터 result[i] 길이만큼 돌게 되는데 이 때 만약 j가 짝수라면 result[i][j]의 값은 대문자로 붙이고, 홀수라면 result[i][j]의 값을 소문자로 변환하여 붙여준다.
  • sum에 붙여준 문자열을 answer에 넣어준 후 마지막으로 공백을 기준으로 합친다.

프로그래머스 코딩테스트 연습 - 이상한 문자 만들기

https://programmers.co.kr/learn/courses/30/lessons/12930

 

코딩테스트 연습 - 이상한 문자 만들기

문자열 s는 한 개 이상의 단어로 구성되어 있습니다. 각 단어는 하나 이상의 공백문자로 구분되어 있습니다. 각 단어의 짝수번째 알파벳은 대문자로, 홀수번째 알파벳은 소문자로 바꾼 문자열을

programmers.co.kr


프로그래머스 코딩테스트 연습 - 다른 문제 풀이(자바스크립트)

 

[코딩테스트 연습] 수박수박수박수박수박수? 자바스크립트 풀이

문제 설명 길이가 n이고, "수박수박수박수...."와 같은 패턴을 유지하는 문자열을 리턴하는 함수, solution을 완성하세요. 예를들어 n이 4이면 "수박수박"을 리턴하고 3이라면 "수박수"를 리턴하면 됩

choijying21.tistory.com

 

 

[코딩테스트 연습] 완주하지 못한 선수 자바스크립트 풀이

문제 설명 수많은 마라톤 선수들이 마라톤에 참여하였습니다. 단 한 명의 선수를 제외하고는 모든 선수가 마라톤을 완주하였습니다. 마라톤에 참여한 선수들의 이름이 담긴 배열 participant와 완

choijying21.tistory.com

 

반응형
저작자표시 비영리 동일조건 (새창열림)
  1. 문제 설명
  2. 제한 조건
  3. 입출력 예
  4. 초기 코드
  5. 코드 풀이 설명
  6. 프로그래머스 코딩테스트 연습 - 이상한 문자 만들기
  7. 프로그래머스 코딩테스트 연습 - 다른 문제 풀이(자바스크립트)
'알고리즘' 카테고리의 다른 글
  • [코딩테스트 연습] 자연수 뒤집어 배열로 만들기 자바스크립트 풀이
  • [코딩테스트 연습] 자릿수 더하기 자바스크립트 풀이
  • [코딩테스트 연습] 수박수박수박수박수박수? 자바스크립트 풀이
  • [코딩테스트 연습] 완주하지 못한 선수 자바스크립트 풀이
도잎
도잎
프론트엔드 개발 성장기록
도잎
JDevelog
도잎
전체
오늘
어제
반응형
  • 분류 전체보기 (149)
    • Web dev (48)
      • React (22)
      • Vue (8)
      • Next.js (6)
      • Node.js (2)
      • Springboot (2)
    • App dev (2)
      • Flutter (2)
    • Language (33)
      • javascript (30)
      • typescript (2)
      • java (1)
    • StyleSeet (3)
      • CSS (3)
      • Sass (0)
    • Database (2)
      • PostgreSQL (1)
    • DevOps (11)
      • Webpack (4)
      • Linux (3)
      • Docker (2)
      • Tomcat (1)
    • 개발지식 (2)
      • Web (1)
    • 항해99(6기) (20)
    • UXUI (0)
    • 알고리즘 (25)
    • 유용정보 (2)

최근 글

hELLO · Designed By 정상우.v4.2.1
도잎
[코딩테스트 연습] 이상한 문자 만들기 자바스크립트 풀이
상단으로

티스토리툴바

개인정보

  • 티스토리 홈
  • 포럼
  • 로그인

단축키

내 블로그

내 블로그 - 관리자 홈 전환
Q
Q
새 글 쓰기
W
W

블로그 게시글

글 수정 (권한 있는 경우)
E
E
댓글 영역으로 이동
C
C

모든 영역

이 페이지의 URL 복사
S
S
맨 위로 이동
T
T
티스토리 홈 이동
H
H
단축키 안내
Shift + /
⇧ + /

* 단축키는 한글/영문 대소문자로 이용 가능하며, 티스토리 기본 도메인에서만 동작합니다.