본문 바로가기
카테고리 없음

24.01.09(git심화)

by 어뇨 2024. 1. 9.

TIL



  • 오늘 한 분량

문제

우선 짝수는 2를 나눴을때 나머지 값이 0이 나온다는것만 알면 쉽게 풀수있었다.  그래서 위 풀이처럼 바로 제출했는데
조금 더 생각을 해보니까

function solution(num) {
    return num % 2 === 0 ? "Even" : "Odd"
    }

이런식으로 푸는게 더 깔끔하겠다 란 생각을 함.

문제2

function solution(arr) {
    let count = 0
    for(let i = 0 ; i < arr.length ; i++){
    count += arr[i]}
    return count / arr.length;
}

정수를 담고있는 배열 이란 문장을 주의해서 봤다. 
배열이기 때문에 for 반복문 사용해서 배열의 인덱스 요소 하나하나를 count 값에 더하면 됐다.

이런식으로 reduce를 사용해서 푸는방법도 있었다. 아직 reduce문법이 익숙하지 않아선지 이건 잘 생각이 안났음.

문제3

function solution(n){  
    const str = String(n)
    const arr = Array.from(str) ;
    let count = 0;

    for(let i = 0 ; i < arr.length ; i++){
    count += Number(arr[i])
}

    // [실행] 버튼을 누르면 출력 값을 볼 수 있습니다.
    console.log(count)

    return count;
}

처음 문제를 봤을때 문제 2 처럼 풀면 되겠다 생각했다. 그럴려면 우선 자연수 n을 배열로 바꿔야했는데 숫자를 문자열로, 문자열을 배열로 각각 바꾸는 법은 알고있었지만, 숫자를 배열로 바꾸는방법도 생각이 안났고, 만약 있다 해도 12345를 배열로 바꾼다고하면 인덱스가 0 하나 생기고 12345가 0의 요소가 될 것 같았다.

 자연수를 배열로 바꾼걸 제외하면 문제2와 같은 방법으로 풀었고, 마지막에 count에서 더한값을 다시 자연수로 바꿔야 하기 때문에 Number메서드를 사용했다. 

그리고 오후에 git 심화과정 강의를 들었고, 강의를 들은 후 git 기초공부를 다시 복습했다. 
git 이란 코드변경점을 기록하는것이고, 소프트웨어의 변경사항을 체계적으로 추적하고 통제하는것. 이라고 외우면 된다.

git 필수명령어로는
git init, git add, git commit, git status, git log, git push, git clone, git pull, git branch, git switch, git merge 등이 있는데

github에 반영할려면 

git remote add origin 주소
git branch -M main
git push-u origin main를 한뒤 

git init은 처음 한번만 하면되고
git add 파일명 또는 git add . 은 저장할 파일을 지정하는것, 파일명을 썼으면 그 파일명만 . 을 썼으면 열려있는 모든 파일을 지정한다.

git commit -m "메세지" 그리고 git push origin 브랜치명 을하면 github에 저장이 된다.

브랜치를 변경할려면 git switch 브랜치명 또는 git checkout 브랜치명 
생성과 동시에 변경할려면 git switch -c 브랜치명 또는 git checkout -b 브랜치명



  • 느낀것

아직 코딩테스트 연습문제라 그런지 문제 난이도가 쉽다고 느껴졌다. 익숙한 문법에 대해서는 이젠 바로 생각이 나는데 아직 익숙하지 않은 문법들은 생각이 안난다. 다음에 다시 풀때 다른 방법으로 풀어야겠다 싶다.
git강의는 어느정도는 이해가 갔지만 아직 이해가 안간 부분이 많다. 

pull request 에 대한 내용도 있었는데 이건 강의영상이 올라오면 복습을 한번 더 해야 할거 같았다.