Git 특강
CLI 명령어 숙지하기!
pwd 현재 경로 확인하기
ls
cd
cat
vi
touch
rm
mkdir
rmdir
rm -rf 등등
git은 버전 관리를 위한 도구
github 이용해서 협업시에 push권한을 설정하기보단
fork를 통해 pull request를 받은 후에
github에서 코드 리뷰를 한 후에 merge 작업을 진행하는 것이 바람직함
JS 문법 종합반 3주차 숙제
풀이 :
객체를 복사할 때
newUser = user 로 쓰면 안됨!
user의 데이터가 저장된 주소를 불러오기 때문에 newUser를 수정하면 user의 값도 변경됨
따라서 아래와 같이 for문을 사용해서
객체 안에 담긴 내용을 복사해야 함
var user = {
name: "john",
age: 20,
}
var getAged = function (user, passedTime) {
var result = {}
for (var prop in user) {
result[prop] = user[prop]
console.log(prop, result[prop])
}
}
터미널에서 실행하면
name, john
age, 20으로 출력되는 결과를 확인할 수 있음
즉, prop in user를 할 때 prop이 key이기 때문에
result[prop]을 해야 value에 접근할 수 있는 것임!!
알게된 점 :
for( var prop in user) 를 하면 안에 있는 요소를 하나씩 돈다!
여기서 prop은 key값이다!
프로그래머스 입문 - 문자열 뒤집기
문제 : 문자열 my_string이 매개변수로 주어집니다. my_string을 거꾸로 뒤집은 문자열을 return하도록 solution 함수를 완성해주세요.
풀이 :
1. for문을 이용해서 문자 한글자씩 반복
2. 문자의 인덱스를 이용해서 맨 끝의 인덱스부터 answer에 추가해줌
function solution(my_string) {
var answer = '';
for (let i = 0; i<my_string.length; i++){
answer += my_string[my_string.length-i-1]
}
return answer;
}
다른 사람의 풀이 :
function solution(my_string) {
return my_string.split('').reverse().join('');
}
알게된 점 :
reverse()라는 문법을 처음 알게 되었다!
프로그래머스 입문 - 배열 뒤집기
문제 : 정수가 들어 있는 배열 num_list가 매개변수로 주어집니다. num_list의 원소의 순서를 거꾸로 뒤집은 배열을 return하도록 solution 함수를 완성해주세요.
풀이 :
1. reverse()를 사용해 배열 뒤집기
function solution(num_list) {
var answer = [];
answer = num_list.reverse()
return answer;
}
다른 풀이 :
문자열 뒤집기와 같은 방식으로 풀이!
function solution(num_list) {
var answer = [];
for (let i = 0; i<num_list.length; i++) {
answer.push(num_list[num_list.length-i-1])
}
return answer;
}
다른 풀이 :
다른 사람의 풀이를 봤을 때 i--로 하는 것이 더 간결하게 표현될 것 같다는 댓글을 보고
i-- 방식으로도 풀어봤다
function solution(num_list) {
var answer = [];
for (let i = num_list.length-1; i>-1; i--) {
answer.push(num_list[i])
}
return answer;
}
대신 for안에 조건을 i>-1 ++랑 달리 i가 클 경우를 조건으로 정해야 하는데
계속 i<-1로 실행을 했더니 반복문이 돌지 않아 조금 애먹었다...!
프로그래머스 입문 : 삼각형의 완성조건 (1)
문제 :
선분 세 개로 삼각형을 만들기 위해서는 다음과 같은 조건을 만족해야 합니다.
가장 긴 변의 길이는 다른 두 변의 길이의 합보다 작아야 합니다.
삼각형의 세 변의 길이가 담긴 배열 sides이 매개변수로 주어집니다. 세 변으로 삼각형을 만들 수 있다면 1, 만들 수 없다면 2를 return하도록 solution 함수를 완성해주세요.
풀이:
1. 오름차순 정렬
2. max와 나머지 숫자 합 비교 - 조건문 사용
function solution(sides) {
var answer = 0;
// 순서대로 정렬
function compareNumbers(a, b) {
return a - b;
}
sides.sort(compareNumbers);
// max와 더한 값 비교 조건문 사용
if (sides[2] < sides[0] + sides[1]) {
answer = 1
} else {
answer = 2
}
return answer;
}
다른 사람의 풀이 :
function solution(sides) {
sides = sides.sort((a,b) => a-b)
return sides[0]+sides[1] > sides[2] ? 1 : 2;
}
같은 풀이 내용이지만
sort 안에 내용을 compareNumbers 가 아닌 (a,b) => a-b로 표현하고,
3항 연산자를 통해 좀 더 간결하게 표현이 됨을 알 수 있음!!
Array.prototype.sort() - JavaScript | MDN
sort() 메서드는 배열의 요소를 적절한 위치에 정렬한 후 그 배열을 반환합니다. 정렬은 stable sort가 아닐 수 있습니다. 기본 정렬 순서는 문자열의 유니코드 코드 포인트를 따릅니다.
developer.mozilla.org