728x90
반응형

1. 문제점

문제가 너무 많아서 문제

2. 시도해본 것들

장바구니를 백앤드로 구현해보고,

프론트는 회원가입, 로그인, 제품상세조회 등 작성

 

3. 해결과정

각자 역활을 맡아서 구현중

맡은 백앤드를 구현했으니, 남은 시간은 프론트 위주로 진행하였다.

 

4. 알게 된 점

미리 구조를 짜는 것도 어렵고,

각자 파트를 나눠서 진행하여도 막히거나 엮인것이 많으니 소통하는 시간이 길어졌다.

사람이 모이면 조율하는게 역시 어렵다.

728x90
반응형
728x90
반응형

 

 

 

728x90
반응형
728x90
반응형

1. 문제점

2. 시도해본 것들

오전에 발제내용을 확인했다.

이커머스 홈페이지를 만들고

소켓활용과 아키텍처 패턴, 테스트코드 작성, 장바구닝 기능 등

이전과 비슷하지만 추가해야할 기능이 늘어났다.

 

3. 해결과정

우선 팀원끼리 첫날이니 S.A 작성하고 API, 데이터모델링을 했다.

기본을 튼실하게 쌓고 가는게 좋을 것 같았다.

 

4. 알게 된 점

프로젝트 시작전에 중요시 해야할 부분과 협업git활용을 배웠다.

팀원끼리 상의를 통해 모두 정리하니

저녁시간이었고, 남은 시간은 프론트쪽 html을 가볍게 만들어보았다.

오늘은 머리싸매고 하루종일 정리하였으니

내일부턴 하루종일 코딩할 것 같다.

728x90
반응형
728x90
반응형

1. 문제점

프로그래머스 알고리즘 문제풀이 - 자바스크립트 [ 가위바위보 ]

2. 시도해본 것들

처음 봤을땐 막막했다. 문제 풀때마다 왜 이러지ㅋㅋㅋ

일단 모두 이기는 경우니까 경우의 수는 3개

그럼 for문 안에서 if문으로 걸러내야 겠다고 생각했다.

 

3. 해결과정

일단 문제를 글로 쓰면서 이해했다.

 

//  가위는 2, 바위는 0, 보는 5 손가락 갯수
// 가위는 2 > 보 5
// 바위는 0 > 가위 2
// 보는 5 > 바위 0

 

좀 알아보긴 어렵지만 이렇게 써서 문제를 이해하고 코드로 구현해봤다.

4. 알게 된 점

 

나의 문제풀이

function solution(rsp) {
    var answer = '';
//  가위는 2, 바위는 0, 보는 5 손가락 갯수
// 가위는 2 > 보 5
// 바위는 0 > 가위 2
// 보는 5 > 바위 0
    
    for(i=0; i<rsp.length; i++){
        if(rsp[i] == "5"){
           answer += 2;
        } else if (rsp[i] == "0"){
           answer += 5;
        } else {
           answer += 0;
        }
    }
    
    return answer;
}

타입스크립트면 어림도 없겠지만,

문자열도 배열처럼 사용할 수 있다는걸 이전에 배워서

타입변환없이 answer에 더했더니 정답이었다.

 

남의 문제풀이

/*
 가위는 2 바위는 0 보는 5
*/
function solution(rsp) {
    let arr = {
        2: 0,
        0: 5,
        5: 2
    };
    var answer = [...rsp].map(v => arr[v]).join("");
    return answer;
}

객체로 만들어서 map을 이용한 풀이법

깔끔하고 이해하기 쉽다. for문으로 모든걸 풀고 있지만

for문 없이 이런식으로 풀고 싶다ㅠㅠㅠ

이걸 봤으니 한번 머리에 외워두고 당장 코드로 적어봐야겠다.

728x90
반응형
728x90
반응형

1. 문제점

프로그래머스 알고리즘 문제풀이 - 자바스크립트 [ 암호해독 ]

2. 시도해본 것들

배열이면 쉬울텐데, 배열로 하고 싶지 않았다.

매번 배열<=>문자열 왔다갔다하는게 귀찮았기 때문..

이번엔 문자열만으로 원하는 단어만 뽑아내보기로 했다.

 

3. 해결과정

첫번째 알파벳은 배열이라면 어떻게 구할까?

인덱스는 0부터 시작이니 code에서 -1만 하면 될것이다.

i = code-1;

그리고 code 만큼 더하면 의도대로 뽑아낼 수 있다.

 

4. 알게 된 점

 

나의 문제풀이

function solution(cipher, code) {
  var answer = "";
    for(i= code-1; i<cipher.length; i+=code ){
        answer += cipher[i];
    }
    return answer;
}

문자열을 배열처럼 생각하고 풀이했더니 통과되었다!

 

 

남의 문제풀이

unction solution(cipher, code) {
    return cipher.split('').filter((v,i)=>(i+1)%code===0).join('');
}

대부분 split , filter로 풀었는데

사실 뭔소린지 잘 모르겠다......

구글링해서 해석해야지

728x90
반응형
728x90
반응형

TIL의 회고 : 이번주 알게 된 점 총정리

타입스크립트 기간이지만 여러번 반복해서 공부했기에

기반이 되는 자바스크립트 공부를 더 하고 있다.

Deep Dive 책을 정독하고 있고,

노드교과서라는 책도 읽고 있는 중이다.

알고리즘도 꾸준히 풀다보니 익숙해지는 문법들이 생겨나고 있다.

 

이번 주 목표 달성 여부

타입스크립트 실전공부는 하지 못했다.

이전까진 강의만 주로 들었는데

이번엔 책을 통해 기본 개념을 다시 정립하는 중이다.

다음 주 목표 세우기

다음주부터는 프로젝트 기간이다.

월,화는 공부기간이니 그때 다시 한번

타입스크립트 공부를 하고 남은 프로젝트 기간동안 몰입할 예정

728x90
반응형
728x90
반응형

1. 문제점

프로그래머스 알고리즘 문제풀이 - 자바스크립트 [대문자와 소문자]

2. 시도해본 것들

 

문제를 보고 for문을 이용해

첫번째 인덱스가 대문자라면(if) 소문자로! 소문자라면(if) 대문자로!

노가다하기로 결심했다.

바꾸는 과정은 아는데 if문에서 소문자인지 대문자인지 어떻게 알 수 있을까..?

 

3. 해결과정

해결방법은 arr[i] 와 변환시켜둔 arr[i].toLowercase() 가 같은지 확인하면 되는 것 이었다.

배열값을 두고 이게 소문자로 변환시킨 배열값과 동일한가?

 

if( arr[i] == arr[i].toLowerCase() )

 

4. 알게 된 점

 

나의 문제풀이

function solution(my_string) {
    var answer = [];
    var arr = Array.from(my_string);
    for(i=0; i<my_string.length; i++){
        if(arr[i] == arr[i].toLowerCase() ){
           answer[i] = arr[i].toUpperCase()
        } else {
             answer[i] = arr[i].toLowerCase()
        }
    }
    return answer.join('');
}

이제 문자열 <=> 배열 왔다갔다 하는건 익숙해진듯 하다.

마지막 배열을 join('')까지 익숙해졌다.

 

 

남의 문제풀이

function solution(my_string) {
    var answer = '';
    for (let c of my_string) answer += c === c.toLowerCase() ? c.toUpperCase() : c.toLowerCase();
    return answer;
}

문자열만으로 해결

게다가 삼항연산자로 깔끔하게 해결되었다. 위와 같이 풀 수 있도록 연습해야지.

728x90
반응형
728x90
반응형

1. 문제점

프로그래머스 알고리즘 문제풀이 - 자바스크립트 [모음제거]

2. 시도해본 것들

문자열을 배열로 바꿔준후, for문에서 모음에서 해당하는 인덱스를 삭제했다.

function solution(my_string) {
    var answer = '';
    var arr = Array.from(my_string);
    for(i=0; i<my_string.length; i++){
        if (arr[i] === 'a' || arr[i] === 'e' || arr[i] === 'i' || arr[i] === 'o' || arr[i] === 'u'){
            arr.splice(i,1);
        }
    }
    return arr.join('');
}

근데 테스트 결과값이 이상하다.. 왜이러지?

모음이 짤리다 마는 결과값이 나왔다.

3. 해결과정

내 코드가 이상한건 없는것 같은데 뭐가 문제일까......?

사실 구글링으로 찾으려면 문제점을 알아야 물어볼 수 있을텐데,

알 수가 없어서 GPT에게 물어봤다.

for문을 반대로 돌리는 코드값을 줬다. 실행해보니 통과.

근데 왜 거꾸로 돌려야하는거지 궁금해서 추가질문을 했다.

4. 알게 된 점

 

나의 문제풀이

function solution(my_string) {
    var answer = '';
    var arr = Array.from(my_string);
    for(i=my_string.length-1; i>=0; i--){
        if (arr[i] === 'a' || arr[i] === 'e' || arr[i] === 'i' || arr[i] === 'o' || arr[i] === 'u'){
            arr.splice(i,1);
        }
    }
    return arr.join('');
}

문자열만으로 끝내고 싶었는데

아는 것이 없다보니 이런 유형 문제는

항상 문자열 <=> 배열을 왔다갔다하는 노가다로 풀게 된다ㅠㅠ

 

 

남의 문제풀이

function solution(my_string) {
    return my_string.replace(/[aeiou]/g, '');
}

깔끔하다. 이런식으로 풀고 싶었는데 정규표현식을 이렇게 쓸 수 있구나.

function solution(my_string) {
    return Array.from(my_string).filter(t => !['a', 'e', 'i', 'o', 'u'].includes(t)).join('');
}

필터도 사실 생각나긴 했는데 잘 몰라서 노가다해야지 했다.

근데 그냥 필터라는 함수에 익숙해질겸 한번 사용해볼껄 그랬다.

728x90
반응형

+ Recent posts