오전 : 팀 안내 및 교육 시작
특이사항
새로운 팀이 배정되었다. 이제부터 1주일(설 연휴 포함)간 자바스크립트를 같이 공부하게 될 것이다. 다들 말주변이 적어보여서 이번에도 내가 먼저 입을 여는 역할을 맡게 되나 싶지만 다행히 다들 호응을 잘해줘서 걱정했던 것 만큼 고요한 팀이 될 것 같지는 않았다.
오전에는 자바스크립트의 개념에 대해 훑어보았다. class개념이 없다는 것을 확실히 알게 되자 많이 당혹스러웠다. 왜 없지? 그 편리한 것이? 아니지, 편리한 것은 아니지만 안정성 면에선 좋을탠데? class가 없이 function만 구성되면 뭐가 어떻게 굴러가는지 전체적인 맥락파악이 힘들어지는 것 아닌가 싶지만 글쎄.....내 수준이 올라가면 이해할 수 있으려나.
오후 : 치과 진료
저녁 : 미션 진행
특이사항
미션01은 개념정리라 그리 오래걸리지 않았다만 02는 팀원 전체가 난리였다. 나는 답안을 보고 맥락은 이해가 가는데, => 람다식이 도대체 뭐 어떤 로직으로 작동하는 것인지 몰라 멘붕이 왔고, 다른 팀원 한 분은 이중 배열의 for문을 두고 고민이 많으셨던 듯 하다.
코딩테스트 연습 - 최소직사각형 | 프로그래머스 스쿨 (programmers.co.kr)
프로그래머스
코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.
programmers.co.kr
문제의 링크이다. 이중 배열을 돌리면서 최소 크기의 직사각형 사이즈를 구하는 문제인데, 난 그놈의 람다식을 알아듣지를 못해 고생했다. 줄 하나 더 늘리기 싫다고 저런 것을 만들다니, 양키 너드들의 귀차니즘은 알다가도 모르겠어.
일단 이 아래는 내가 만든 해답이다.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
|
function solution(sizes) {
let w = 0;
let h = 0;
for (var i = 0; i < sizes.length; i++){
//큰 수를 앞에 두기 위한 비교용 변수 초기화
let a = 0;
let b = 0;
//앞 숫자가 뒷 숫자보다 크다면
if(sizes[i][0] > sizes[i][1]){
a = sizes[i][0];
b = sizes[i][1];
}
//뒷 숫자가 크다면
else {
a = sizes[i][1];
b = sizes[i][0];
}
if (w < a){
w = a;
}
if(h < b){
h = b;
}
}
return (w * h);
}
|
cs |
마지막의 두 if문은 math 모듈로 최댓값 비교하면 쉽지만 여기서는 if문 연습을 하는 것이 목적이므로 혹시나 볼 사람들을 위해 저렇게 해두었다.
정리
자바 스크립트는 객체, 함수 지향형 언어이며 HTML CSS 확장성이 용이하다. 웹 환경 하에 작동하기 편리하기 때문에 범용적으로 쓰이지만 class 개념이 없는 등 타 언어에 비해 좀 생소한 경향이 있다.
기본적인 계산 연산자는
a++(--)
a = a (+-*) b;
a (+-*)= b;
비교 연산자는
a != b;
a == b;
a (><)= b;
논리 연산자는
&&
||
이중 배열의 for문을 돌리는 방식은 상단 스크립트로 설명을 대신한다.
언제 한 번 날잡아서 일지들 보기 좋게 싹 손봐야하는데.....
'항해99 개발일지' 카테고리의 다른 글
01-20 일지 (0) | 2023.01.20 |
---|---|
01-19 일지 (0) | 2023.01.20 |
01-16~01~17 일지 (0) | 2023.01.18 |
01/ 09 ~ 01 ~14 정산 (0) | 2023.01.15 |
01-14 일지 (1) | 2023.01.15 |