알고리즘 공부 - Day11

설하나·2022년 11월 14일
0

알고리즘

목록 보기
11/22

알고리즘을 풀어보자!!!

🖥 프로그래머스 🖥

1. 인데스에 있는 문자 바꾸기

[문제 상황]

주어진 문자열에서 해당 인덱스에 있는 문자 두개를 서로 바꾼 문자열을 리턴

[풀이 코드]

function solution(my_string, num1, num2) {
    var answer = my_string.split("");
    let temp = ""
    temp = answer[num1]
    answer[num1]=answer[num2]
    answer[num2]=temp
    return answer.join("");
}

[문제 해결 방향]

일단 배열을 사용하기 위해서 문자열을 split()를 사용해서 배열로 바꾸었다. 그 후 중간값을 저장하기 위한 temp변수를 선언하고 바꿔야하는 문자 하나를 temp에 저장, 바꿔야하는 문자를 적용, 적용된 문자에는 원래 있던 문자를 적용한후 배열을 다시 문자열로 만들기 위해서 join()매서드를 사용하고 리턴하였다.


2. 배열 회전

[문제 상황]

정수가 담긴 배열 numbers와 문자열 direction가 매개변수로 주어지고 배열 numbers의 원소를 direction방향으로 한 칸씩 회전시킨 배열을 리턴

[풀이 코드]

function solution(numbers, direction) {
    if(direction ==='right'){
        const temp= numbers.pop()
        numbers.unshift(temp)
    }else if(direction ==='left'){
        const temp = numbers.shift()
        numbers.push(temp)
    }
    return numbers;
}

[문제 해결 방향]

조건문인 if()문을 통해서 매개변수로 주어진 방향을 확인한다.
만약 right라면 배열의 맨 마지막 요소를 pop()을 이용해서 뽑고, unshift()를 이용해서 배열의 맨 앞에서 넣어주었다.
만약 left라면 배열의 맨 앞의 요소를 shift()를 이용해서 뽑고, push()를 이용해서 배열의 맨 마지막에 넣어주었다.

profile
Backend

0개의 댓글