항해99 개발일지

01-18 일지

카로루딘 2023. 1. 19. 00:06

오전 : 팀 안내 및 교육 시작

특이사항

새로운 팀이 배정되었다. 이제부터 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