🏋🏽문제 각 요소가 이전 요소들의 합보다 큰지 여부를 리턴 🔍나의 풀이 누적값을 설정하고 반복문을 돌때마다 해당 요소가 누적값(이전 요소들의 합)보다 같거나 작은지 검사한다. 1. 배열의 첫번째 요소를 누적값의 초기값으로 설정한다. 2. 반복문으로 sum변수에 초기값과 해당요소의 값을 더해준다. 3. 누적되어진 sum값은 if문에서 다음요소의 값보다 크거나 같은지 검사하여 4. 조건이 안맞을 경우 다시 반복문으로 돌아가 누적값을 더해준다. 5. 조건이 맞을 경우 result값을 false로 재할당해주고 6. 바로 반복문을 끝낸다. 💡느낀점 일단 반복문을 돌려야 할것 같았다. 근데 누적값이 필요하니까 reduce도 써봤는데 점점 더 복잡해져갔다. 누적할때마다 if문으로 조건을 걸어서 충족시 바로 break..
🏋🏽문제 문자열을 요소로 같는 배열을 입력받아 문자열을 세로로 읽었을 때의 문자열을 리턴 🔍나의 풀이 처음에 배열의 요소가 2개까지만 들어오는줄 알았다가, 테스트 돌리고나서 뒤늦게 가장 긴 요소를 찾는 조건 추가해줬다.🤯 1. 가장 긴요소의 길이를 찾아서 (Math.max) 배열의 요소중 가장 긴 것을 찾아야 하므로 for문을 돌려 배열에 요소의 길이를 push 해준다. Math.max 메서드로 배열의 요소중 가장 큰 값을 찾아 maxNum에 할당해준다. 2. 2중 for문으로 문자열을 만들어 준다. 가장 긴 문자열의 길이만큼 돌면서 배열의 길이만큼 각 요소를 돌아 해당 문자열을 더해준다. 3. 결과값을 리턴한다. 💡 알게된 점 알고리즘도 하다보면 익숙해지는것 같다 점점 레퍼런스를 안보게 된다 감격🥹
REST API에 대해 이해할 수 있다. REST 성숙도 모델에 대해 이해할 수 있다. REST API 문서를 읽을 수 있다. REST API에 맞춰 디자인할 수 있다. Open API와 API Key에 대해 이해할 수 있다. 웹 에플리케이션에서는 HTTP 메서드를 이용해 서버와 통신한다. GET을 통해 웹페이지나 데이터를 요청하고 POST로 새로운 글이나 데이터를 전송하고 DELETE로 저장된 글이나 데이터를 삭제할 수 있다. 👉🏻 클라이언트와 서버가 HTTP 통신할때 어떤 요청을 주고 받느냐에 따라 메서드의 사용이 달라진다. 👉🏻 요청과 응답을 할 때 지정된 형식으로 주고받을 수 있는 수단을 API라고하며 👉🏻 이걸 "어떻게" 주고 받아야 하느냐? => REST API 를 알아보자 REST API는 ..
🏋🏽 문제 2차원 배열에서 문자열"B"의 위치정보를 요소로 같은 배열을 리턴 🔍 나의 풀이 - indexOf 메소드는 "B"문자열이 배열안에 있으면 인덱스 번호를 아니라면 -1를 반환한다. 1. 배열의 요소를 하나씩 돌면서 2. 요소에 "B"문자열이 존재하는지 검사를 한다. 3. 있다면 빈 배열 result에 요소의 인덱스 번호를 push 4. 그 요소 안의 "B" 문자열의 인덱스 번호를 push 5. result를 리턴한다. 💡알게된 점 - 레퍼런스보다 내 코드가 더 마음에 들 때도 있다!!!!!! - 하지만 indexOf("B")를 두번 써준거에서 레퍼런스한테 패했다 :( 중복을 줄이자~!!!!!!
Chapter1. 웹 애플리케이션 아키텍처 1-1. 클라이언트 - 서버아키텍처 클라이언트-서버 아키텍처를 이해할 수 있다. HTTP를 이용한 클라이언트-서버 통신을 이해할 수 있다. API의 개념을 이해할 수 있다. 클라이언트 - 서버 아키텍처 (2 티어 아키텍처) 설계방식 쇼핑몰 앱을 예로 들어서, 인터넷 연결 없이 앱 사용이 불가능하다. 앱 안의 데이터는 인터넷 서버에서 받아오기 때문이다. 판매하려는 상품 정보가 전부 앱 안에 담긴 경우 앱과 연결된 서버가 존재하지 않는다면? 끊임없이 앱을 업데이트해야 한다. 기존 버전을 잘 사용하더라도 새 상품을 업데이트하면 기존버전에는 신상품에 대한 정보가 없어서 앱 자체를 업데이트해주어야 한다. 앱을 사용하는 사람들에게 상품 정보를 실시간으로 전달하기 어렵고 금..
🏋🏽문제 문자열을 요소로 갖는 배열을 입력받아 가장 짧은 문자열과 가장 긴 문자열을 제거한 배열을 리턴 🔍나의 풀이 일단 가장 짧은 문자열과 큰 문자열을 알아낸다. 1. arr[i].length는 20 이하라는 조건이 있었으므로 2. 반복문을 돌리면서 조건보다 같거나 작으면 해당 배열의 길이와 인덱스 번호를 변수에 저장한다. 3. 가장 긴 문자열도 반복문을 돌리면서 조건보다 같거나 크면 해당 배열의 길이와 인덱스 번호를 변수에 저장한다. 매개변수로 받은 배열에 for문을 돌려서 1. 해당 요소의 값이 최소길이 문자열과 같은데 자리가 다를 경우 배열에 추가 2. 해당 요소의 값이 최소, 최장문자열과 다르다면 배열에 추가 완성된 result값을 리턴 사실 이 코드는 똥인데 테스트 통과하기 위해서 우겨넣었다 ..
각 글의 타이틀을 클릭하면 모달창이 뜨고 다시 클릭하면 모달창이 사라지는 것을 구현해 보았다. 별로 어려운 로직은 아닌데 리액트로 하려니 괜~히 더 헷갈렸다. 각각의 글들은 ListItem이라는 컴포넌트에 구현되어 있다. 1. modal의 상태초기값은 false로 설정을 한다. 2. 모달이 생길 위치에서 태그로 감싸고 1에서 주었던 값에 따라 컴포넌트 표시 여부를 결정한다. 3. 글 제목이 들어있는 태그에 onClick 이벤트 발생 시 modal의 상태값이 false라면 true를 아니라면 false를 반환시켜서 클릭 시 modal의 상태 값에 따라 2번에서 모달창을 동작시킨다.
🏋🏽 문제 문자열을 입력받아 연속된 한자리 홀수 숫자 사이에 '-'을 추가한 문자열 리턴 🔍 나의 풀이 - 문자열을 한 글자씩 돌면서 - 짝수일경우 그대로 result에 추가 - 홀수일경우 다음글자도 홀수라면 하이픈과 함께 result에 추가 - 누적된 result값 리턴 - 아무래도 마지막 문자열의 다음 문자열이 없는데 if문에서 검사하는게 찝찝해서(?) 새로 짜본 코드 - 첫 문자열은 무조건 출력 - 두번째 문자열부터 돌면서 짝수일경우 result에 그대로 추가 - 홀수일경우 이전문자열 역시 홀수라면 결과값에 "-"를 숫자 앞에 붙여 result에 추가 - 누적된 result값 리턴 💡 깨달은점 - 두번째 풀이를 하면서 자바스크립트의 자동형변환 ㅡㅡ 을 다시금 느꼈다. 편하면서 편하지 않은 형 변환...
더보기 state, props의 개념에 대해서 이해하고, 실제 프로젝트에 바르게 적용할 수 있다. React 함수 컴포넌트(React Function Component)에서 state hook을 이용하여 state를 정의 및 변경할 수 있다. React 컴포넌트(React Component)에 props를 전달할 수 있다. 이벤트 핸들러 함수를 만들고 React에서 이용할 수 있다. 실제 웹 애플리케이션의 컴포넌트를 보고 어떤 데이터가 state이고 props에 적합한지 판단할 수 있다. 실제 웹 애플리케이션 개발 시 적합한 state와 props의 위치를 스스로 정할 수 있다. React의 단방향 데이터 흐름(One-way data flow)에 대해 자신의 언어로 설명할 수 있다. JSX 문법의 기본과..
🏋🏽 문제 문자열을 입력받아 문자열 아래에 아래 중 하나가 존재하는지 여부를 리턴 1. 'a'로 시작해서 'b'로 끝나는 5의 문자열 2. 'b'로 시작해서 'a'로 끝나는 5의 문자열 🔍 나의 풀이 1. 대소문자를 비교하지 않는다고 하였으므로 모두 소문자로 바꿔준다. 2. a와 b자리의 위치를 for문을 이용해 찾아 변수에 할당한다. 3. 각 위치값의 차가 절대값 4인지 여부에 따라 boolean값 리턴 🔍 레퍼런스 1. n+4의 위치가 a고, n의 위치가 b일때 2. 혹은 그 반대일때 3. boolean 값 리턴한다. 오.....간단해... 💡알게된점! 절대값 구하기 Math.abs