알고리즘 공부 - Day10

설하나·2022년 11월 11일
0

알고리즘

목록 보기
10/22

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

🖥 프로그래머스 🖥

1. 소문자 문자열 만들기

[문제 상황]

영어로 된 문자열에서 대문자를 소문자로 바꾸어 모든 글자가 소문자로 구성된 문자열을 반환

[풀이 코드]

function solution(my_string) {
    const ascii= my_string.split("").map((ele)=>{
        const ascii = ele.charCodeAt()
        if(65<=ascii&&ascii<=90) return ascii+32
        else return ascii
    }).sort((x,y)=>{return x-y})
    return ascii.map((ele)=>{return String.fromCodePoint(ele)}).join("")    
}

[문제 해결 방향]

일단 ascii 코드로 문자를 바꾸고 대문자라면 소문자가 되도록 ascii코드에 32를 더해 바꾸어 주었다.
그 후,sort() 매서드를 통해서 오름차순으로 정렬한 배열을 변수 ascii에 저장한 후에 이를 map()을 돌면서 다시 문자로 바꾸고 join()을 통해서 문자열을 반환하도록 구성하였다.


2. 피자 나누기

[문제 상황]

6조각으로 구성된 피자를 모든 사람들이 똑같은 조각을 먹을 수 있도록하는 피자는 몇 판인지 리턴하는 문제

[풀이 코드]

function solution(n) {
    let pizza = 1;
    while (pizza * 6 % n) {
        pizza++;
    }
    return pizza;
}

[문제 해결 방향]

pizza라는 변수를 1로 할당하고, while문을 통해서 만약 해당값이 0이된다면 false로 while문이 종료되기 때문에 원하는 값을 얻을 수 있도록 구성하였다.

profile
Backend

0개의 댓글