📘 오늘의 공부
- 알고리즘 1일차! (특강 요약, 오늘의 문제)
- js sort 문법 (오름차순, 내림차순)
- js 문법 강의 1회독 (3주차~5주차 강의)
1. 자료구조와 알고리즘의 관계
2. 알고리즘을 공부해야 하는 이유
3. 알고리즘 공부법
But!! 기본 코딩능력은 무조건 필수
언어에서 기본적인 기능들 무리없이 사용하는건 기본
4. 알고리즘 필승 전략
5. 오늘의 문제
문제
풀이
function solution(num1, num2) {
answer = num1 - num2;
return answer;
}
풀이 이유
1. sort 메소드
2. sort() 활용 - 오름차순, 내림차순
sort((a,b) => a-b)
// 예제 1. 일반적인 배열 요소의 정렬
var num = [5,4,3,2,1];
num.sort(function(a, b){
return a-b;
})
console.log(num);
// 예제 2. 객체 내 요소를 기준으로 정렬
var products = [
{ name: 'pineapple', price: 6000 },
{ name: 'banana', price: 1800 },
{ name: 'apple', price: 3700 },
{ name: 'cherry', price: 4050 },
{ name: 'mango', price: 4900 }
];
// price 기준으로 정렬
products.sort(function (a, b) {
if (a.price > b.price) {
return 1;
}else if (a.price < b.price) {
return -1;
}
});
console.log(products);
(참고 : https://myhappyman.tistory.com/23)
sort((a,b) => b-a)
3. sort()
와 sort((a,b) => a-b)
의 차이
- 분기문
- 조건문이 분기문임
- 분기 : 갈림길 이정표 같은것(ㅇㅇ분기점 처럼)
ex) if else
(if만 있는건 조건 체크 느낌)- 조건으로 분기를 만드는 것
- 유니코드 문자에서는 숫자로된 문자열이 있을 경우, 수의 비교가 아니라 문자로 인식, 큰 수 작은 수의 비교가 제대로 안된다는 것을 처음 알았다.
알고리즘을 처음 시작했는데, 아직 잘 몰라서 그렇지 로직을 배우고 적용하는 과정은 흥미롭고 재밌다. 아직 몰라서 문제도 잘 못풀고 그런 속상한 이 기분을 잘 버티기만 하면 무조건 잘할 수 있게 될 것 같은 기분이 든다.
사실 이전부터 코드를 작성할 때 조건문(분기문)을 잘 활용하여 코드를 작성하고 싶었는데, 사용법을 잘 몰라서 항상 공부해보고싶고 궁금한 파트 중 하나였다. 이제 매일 한문제씩 문제풀이를 하면서 조건문과도 친해지고, js 문법 강의도 계속 병행하고 있고 개인과제까지 할 예정이니 스텝 바이 스텝으로 가야할 것을 동시다발적으로 한번에 부스트 달고 가는 기분이 들긴 하는데ㅋㅋ '하면 된다'라는 생각이 들어서 희망적이기도 한 것 같다.
남들은 몇년에 걸쳐 이 과정을 거칠텐데 남들보다 늦게 시작했고 지식도 없이 시작했으니 짧고 굵은 과정을 정신 바짝 차리고 열심히 헤쳐나가야겠지!
나만 모르고 남들은 잘하는 것 같은 이 절망적인 기분만 잘 버티면 분명 금방 익숙해지는 순간도 올 것 같다. 그때까지 존버!! 중꺾마!! 화이팅!
진짜 포기만 하지 말자!