2022-07-26(화) TIL

황인호·2022년 7월 26일
0

TIL 모음

목록 보기
104/119

Axios

껄껄 나는 백엔드인데....점점 프론트엔드화 하고있다....
오늘은 Axios를 사용했다
Axios는 브라우저 HTTP 비동기 통신 라이브러리이다.
물론 다른사람들이 사용하는 모습만 봐왔지 내가 직접써보지는 못했다.

하지만 회사에서는 어떻게는 해내야하기때문에 써봤는데...
생각보다 어렵지않았다?!

axios.get('내가 가져오려고하는 uri')
ex) const test = await this.$axios.get('http://test.com/api/userdata')
console.info(test)

일단 이런식으로 작성하면 크롬브라우저 콘솔창에서 axios를 요청한 주소의 데이터가 콘솔로 찍히게된다.
이렇게 axios로 데이터를 가져오고 난 후에 가공하면되는데
객체>객체>객체>객체>객체>
예를들어 data>data2>data3>data4 ... 이런식으로 되어있는경우
변수명을 const {data:{data2:{data3:{data4 = test}={}}={}}={}} = await this.$axios.get('http://test.com/api/userdata')

이렇게 작성하면된다.

매일이 삽질의 연속이다

내일도 삽질하러가야징....ㅠㅠ

알고리즘 문제 풀이

⚔가위 바위 보

A, B 두 사람이 가위바위보 게임을 합니다. 총 N번의 게임을 하여 A가 이기면 A를 출력하고,
B가 이기면 B를 출력합니다. 비길 경우에는 D를 출력합니다.
가위, 바위, 보의 정보는 1:가위, 2:바위, 3:보로 정하겠습니다.

두 사람의 각 회의 가위, 바위, 보 정보가 주어지면 각 회를 누가 이겼는지 출력하는 프로그램
을 작성하세요.

▣ 입력설명
첫 번째 줄에 게임 횟수인 자연수 N(1<=N<=100)이 주어집니다.
두 번째 줄에는 A가 낸 가위, 바위, 보 정보가 N개 주어집니다.
세 번째 줄에는 B가 낸 가위, 바위, 보 정보가 N개 주어집니다.

▣ 출력설명
각 줄에 각 회의 승자를 출력합니다. 비겼을 경우는 D를 출력합니다.

▣ 입력예제 1
5
2 3 3 1 3
1 1 2 2 3

▣ 출력예제 1
A
B
A
B
D

function solution(a,b) {
    let answer = ''
    for (let i = 0; i < a.length; i++) {
        if (a[i] === b[i]) {
            //표에서 A의 정보와 B의 정보가 같으면 D를 출력하라고하였기때문에
            // a[i] === b[i] => D
            answer += 'D'+'';
            // A가이 이기는 경우에는 A 를 출력하고
        }else if (a[i] === 1 && b[i] === 3) {
            answer += 'A'+'';
        }else if (a[i] === 2 && b[i] === 1) {
            answer += 'A'+'';
        }else if (a[i] === 3 && b[i] === 2) {
            answer += 'A'+'';
        }else {
            // 반대로 B가 이기는 상황에는 B를 출력합니다.
            answer += 'B'+'';
        }
    }
    return answer
}

let a = [2,3,3,1,3]
let b = [1,1,2,2,3]
console.log(solution(a,b))

⚔점수계산

OX 문제는 맞거나 틀린 두 경우의 답을 가지는 문제를 말한다. 여러 개의 OX 문제로 만들어진
시험에서 연속적으로 답을 맞히는 경우에는 가산점을 주기 위해서 다음과 같이 점수 계산을 하기
로 하였다. 1번 문제가 맞는 경우에는 1점으로 계산한다. 앞의 문제에 대해서는 답을 틀리다가
답이 맞는 처음 문제는 1점으로 계산한다. 또한, 연속으로 문제의 답이 맞는 경우에서 두 번째
문제는 2점, 세 번째 문제는 3점, ..., K번째 문제는 K점으로 계산한다. 틀린 문제는 0점으로 계
산한다.
예를 들어, 아래와 같이 10 개의 OX 문제에서 답이 맞은 문제의 경우에는 1로 표시하고, 틀린 경
우에는 0으로 표시하였을 때, 점수 계산은 아래 표와 같이 계산되어, 총 점수는
1+1+2+3+1+2=10 점이다.

시험문제의 채점 결과가 주어졌을 때, 총 점수를 계산하는 프로그램을 작성하시오.

▣ 입력설명
첫째 줄에 문제의 개수 N (1 ≤ N ≤ 100)이 주어진다. 둘째 줄에는 N개 문제의 채점 결과를 나
타내는 0 혹은 1이 빈 칸을 사이에 두고 주어진다. 0은 문제의 답이 틀린 경우이고, 1은 문제의
답이 맞는 경우이다.

▣ 출력설명
첫째 줄에 입력에서 주어진 채점 결과에 대하여 가산점을 고려한 총 점수를 출력한다.

▣ 입력예제 1
10
1 0 1 1 1 0 0 1 1 0

▣ 출력예제 1
10

function solution(a) {
    let answer = 0;
    let cnt = 0;
    for (let i = 0; i < a.length; i++) {
        if (a[i] === 1) {
            //배열의 값이 1이면 ++하고 answer에 대입해준다.
            cnt++
            answer += cnt
        }else {
            // 배열의 값이 1이 아닐결우 cnt의 값을 0으로 초기화한다.
            cnt = 0;
        }
    }
    return answer
}
let a = [1,0,1,1,1,0,0,1,1,0]
console.log(solution(a))

등수 구하기 문제

N(1<=N<=100)명의 학생의 국어점수가 입력되면 각 학생의 등수를 입력된 순서대로 출력하는
프로그램을 작성하세요.
▣ 입력설명
첫 줄에 N(3<=N<=1000)이 입력되고, 두 번째 줄에 국어점수를 의미하는 N개의 정수가 입력
된다. 같은 점수가 입력될 경우 높은 등수로 동일 처리한다. 즉 가장 높은 점수가 92점인데
92점이 3명 존재하면 1등이 3명이고 그 다음 학생은 4등이 된다.
▣ 출력설명
입력된 순서대로 등수를 출력한다.

▣ 입력예제 1
5
87 89 92 100 76

▣ 출력예제 1
4 3 2 1 5


function solution(a) {
    let n = a.length
    //1차원의 배열을 1로 초기화하는 방법
    let answer = Array.from({length:n}, ()=>1)

    for (let i = 0; i < n; i++) {
        for (let j = 0; j < n; j++) {
            // j의 값을 고정시킨 후에 a[i]를 돌려서 작으면 answer을 증가시켜준다.
            if (a[j] > a[i]) {
                answer[i]++
            }
        }
    }
    
    return answer
}
let a = [87,89,92,100,76]
console.log(solution(a))
profile
성장중인 백엔드 개발자!!

0개의 댓글