본문 바로가기
프로그래머스 코딩 테스트

프로그래머스 : JavaScript 알고리즘 100일 챌린지 35일차

by dongjin6539 2023. 6. 19.
728x90
반응형

프로그래머스 : JavaScript 알고리즘 100일 챌린지 35일차

 

코딩 기초 트레이닝 Day35

 

 

1. 문자열의 앞의 n글자 : 문자열 my_string과 정수 n이 매개변수로 주어질 때, my_string의 앞의 n글자로 이루어진 문자열을 return 하는 solution 함수를 작성해 주세요.

function solution(my_string, n) {
    var answer = '';
    return answer;
}

길라잡이

  • 데이터를 수정해서 답을 구해보세요.
  • 예시
my_string n result
"ProgrammerS123" 11 "ProgrammerS"
"He110W0r1d" 5 "He110"

 

답 확인하기
function solution(my_string, n) {
    return my_string.slice(0, n)
}

 

2. 접두사인지 확인하기 : 어떤 문자열에 대해서 접두사는 특정 인덱스까지의 문자열을 의미합니다. 예를 들어, "banana"의 모든 접두사는 "b", "ba", "ban", "bana", "banan", "banana"입니다.
문자열 my_string과 is_prefix가 주어질 때, is_prefix가 my_string의 접두사라면 1을, 아니면 0을 return 하는 solution 함수를 작성해 주세요.

function solution(my_string, is_prefix) {
    var answer = 0;
    return answer;
}

길라잡이

  • 데이터를 수정해서 답을 구해보세요.
  • 예시
my_string is_prefix result
"banana" "ban" 1
"banana" "nan" 0
"banana" "abcd" 0
"banana" "bananan" 0

 

답 확인하기
const solution = (my_string, is_prefix) => my_string.slice(0,is_prefix.length).includes(is_prefix) ? 1:0

 

3. 문자열 뒤집기 : 문자열 my_string과 정수 se가 매개변수로 주어질 때, my_string에서 인덱스 s부터 인덱스 e까지를 뒤집은 문자열을 return 하는 solution 함수를 작성해 주세요.

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

길라잡이

  • 데이터를 수정해서 답을 구해보세요.
  • 예시
my_string n e result
"Progra21Sremm3" 6 12 "ProgrammerS123"
"Stanley1yelnatS" 4 10 "Stanley1yelnatS"

 

답 확인하기
function solution(my_string, s, e) {
    const slicedString = my_string.slice(s, e+1)
    const reverseStr = [...slicedString].reverse().join("")
    const splitMyString = [...my_string]
    splitMyString.splice(s, e-s+1, reverseStr)
    return splitMyString.join("")
}

 

4. 세로 읽기 : 문자열 my_string과 두 정수 mc가 주어집니다. my_string을 한 줄에 m 글자씩 가로로 적었을 때 왼쪽부터 세로로 c번째 열에 적힌 글자들을 문자열로 return 하는 solution 함수를 작성해 주세요.

function solution(my_string, m, c) {
    var answer = '';
    return answer;
}

길라잡이

  • 데이터를 수정해서 답을 구해보세요.
  • 예시
my_string m c result
"ihrhbakrfpndopljhygc" 4 2 "happy"
"programmers" 1 1 "programmers"

 

답 확인하기
function solution(my_string, m, c) {
    const table = []
    let result = ""
    // 표 생성
    for(let i = 0 ; i < Math.floor(my_string.length/m) ; i ++) {
        const row = []
        for(let j = 0 ; j < m ; j ++) {
            const cur = my_string[i*m+j]
            if(j+1 === c) result+= cur
            row.push(cur)
        }
        table.push(row)
    }

    return result
}

 

5. qr code : 두 정수 qr과 문자열 code가 주어질 때, code의 각 인덱스를 q로 나누었을 때 나머지가 r인 위치의 문자를 앞에서부터 순서대로 이어 붙인 문자열을 return 하는 solution 함수를 작성해 주세요.

function solution(q, r, code) {
    var answer = '';
    return answer;
}

길라잡이

  • 데이터를 수정해서 답을 구해보세요.
  • 예시
q r code result
3 1 "qjnwezgrpirldywt" "jerry"
1 0 "programmers" "programmers"

 

답 확인하기
function solution(q, r, code) {
    return [...code].reduce((acc, cur, idx) => {
        return idx%q === r ? acc+cur : acc
    }, "")
}
728x90
반응형