TIL
응애~ 오류 개많이나 런타임 오류가 뭐여 대체 개빡치네
그래도 내일은 더 잘할 수 있기를..☆
알고리즘 주차에 회의감을 가진 이들이 속속 출몰한다. 분위기에 휩쓸리지 말고 할꺼합시다. 다 이유가 있어서 하겄지~
알고리즘 푸느라 Git을 못들었네 한 강의라도 얼릉 듣고와야겠다ㅠ
GIT
오늘의 Git 때문에 억지로 1강의 듣고왔다..! 넘나 빡센것.
오늘은~ 새로운 브랜치를 만들어서 거따가 push하고 main에다 merge를 해봤습니다~
$git branch mining $git switch mining
$git add . $git commit -m ‘비트코인 채굴풀 만들었다~’
$git push (pull 부터 하고!)
$git merge 일단 git 가서 해봤음! create a merge commit(3way & squash & rebase merge 3개 중 적당한거 택 1) 바로 머지하지말고 pull 요청을 하자!
알고리즘
9. 핸드폰 번호 가리기(https://school.programmers.co.kr/learn/courses/30/lessons/12948)
function solution(phone_number) {
var change = phone_number.substring(0, phone_number.length - 4)
var answer = phone_number.replace(change, '*'.repeat(change.length));
return answer;
} // 어제 배운 substring 주워다가 썼다. repeat도 생각보다 꿀 코드넹
10. 행렬의 덧셈(https://school.programmers.co.kr/learn/courses/30/lessons/12950)
function solution(arr1, arr2) {
var answer = [];
for(let i=0; i<arr1.length; i++){ //[1,2][2,3]
let sum = [];
for(let j=0; j<arr1[i].length; j++){
//arr1 안의 배열의 길이 (값 2)
sum.push(arr1[i][j] + arr2[i][j])
// 1번째 1+3, 2번째 2+4 , 3번째 2+5 4번째 3+6
}
answer.push(sum) // [4,6],[7,9]
}
return answer;
}//어려웠음.. let sum 위치랑 for문을 2번 돌리는게 포인트!
//더 중요한건 arr1.length; 와 arr1[i].length; .. 어렵넹
11. 더해서 배열에 넣기(https://school.programmers.co.kr/learn/courses/30/lessons/12954)
function solution(x, n) {
let answer = [];
let sum = 0;
for (i = 0; i < n; i++) {
sum = sum + x;
answer.push(sum)
}
return answer;
} //배열은 많이 나오니까 이제부터 push로 배열에 넣는거 많이 해봐야할거같음! 다른 풀이 중 sum을 빼고 push(x*i) 로 바로 넣는게 인상적이었음.
12. 부족한 금액 계산하기(https://programmers.co.kr/learn/courses/30/lessons/82612)
function solution(price, money, count) {
let sum = 0;
for (i = 1; i < count + 1; i++) {
sum = sum + price * i
}
if (sum > money) {
return sum - money
} else {
return 0
}
} // 위에 if else 는 삼항연산자를 사용하도록 하자!
return sum > money ? sum - money : 0 이거맞나?
13. 요일 구하기 (https://school.programmers.co.kr/learn/courses/30/lessons/12901)
function solution(a, b) {
var weekday = ['sunday', 'monday', 'tuesday',
'wednesday', 'thursday', 'friday', 'saturday']
var myday = '2016-' + a + '-' + b
var myday2 = new Date(myday); // Sat Jul 16 2022 15:20:24
var myday3 = myday2.getDay(); // Day를 숫자로 가져옴 ex.0~6
var answer = weekday[myday3].substring(0, 3).toUpperCase();
return answer
} // 문자열 중간에 변수받기
var myday = `2016-${a}-${b}` (백틱 ``안에 ${변수})
14. 나누어 떨어지는 숫자배열(https://school.programmers.co.kr/learn/courses/30/lessons/12910)
function solution(arr, divisor) {
var answer = [];
arr.map((v, i) => {
if (Number.isInteger(v / divisor)) {
answer.push(v)
}
})
return answer == '' ? [-1] :
answer.sort(function (a, b) {
return a - b;
});
} // Number.isInteger()메서드는 ()안에 숫자가 int이면 참
// 삼항연산자 잘썼고~
// js에서 .sort() 거지같은게 2랑 11 오름차순 정렬을 [11, 2] 이따구로 해줌. 그래서 sort()안에 함수 추가해서 대소 비교해야됨
15. 백터 구하기(https://school.programmers.co.kr/learn/courses/30/lessons/70128)
function solution(a, b) {
var sum = 0;
a.map((val, i) => {
sum += val * b[i]
})
return sum
} // for랑 그만놀고 map이랑 친해지도록하자.
16. 문자열 내 p와 y의 개수(https://school.programmers.co.kr/learn/courses/30/lessons/12916#)
function solution(s) {
if (s.match(/p/gi) == null && s.match(/y/gi) == null) {
return true;
} else if (s.match(/p/gi).length == s.match(/y/gi).length) {
return true;
} else {
return false;
}
} // 요렇게 푸니까 테스트 2,3번 댕같이 런타임 에러난다.. 나중엔 해결 할 수 있겠지?
--> 바꾼코드(팀원 꺼 보고 힌트얻음)
function sol(s) {
var p = 0;
var y = 0;
for (i=0; i<s.length; i++) {
if (s[i] == 'p') {
p += 1
} else if (s[i] == 'y') {
y += 1
}
} return p == y ? true : false
} // 근데 이래도 틀림ㅎㅎ 빡치넹
17. 문자열 다루기 기본..?(https://school.programmers.co.kr/learn/courses/30/lessons/12918)
function solution(s) {
if (s.length !== 4 && s.length !== 6) {
return false;
}
if (isNaN(s)) {
return false;
} else if (s.includes('e')) {
return false;
}
return true;
} // 진짜 어이없는게 계속 오류 나길래 뭐지.. 뭐야 하며 찾다보니까 js 문제인거같다. e를 js가 숫자로 받아서 true값이 나오고있었다..
'항해99' 카테고리의 다른 글
2주차 알고리즘(3일차) (0) | 2022.11.19 |
---|---|
2주차 알고리즘 (0) | 2022.11.19 |
2주차 알고리즘(1일차) (0) | 2022.11.19 |
실전 프로젝트 트러블슈팅(SSE) (0) | 2022.10.31 |
1주차 프로젝트 (0) | 2022.07.28 |