전체 글 102

코딩테스트 풀이 - 머쓱이보다 키 큰 사람 | forEach 문, filter()

와.. 몇 번째 서는지 궁금해서 코딩하는 머쓱이.. 진짜 인정이다.. 근데 몇 번째인지 바로 구하면 되지 왜 키큰 사람이 몇명인지 구하는걸까... 1. 빈 answer 변수 주기 2. 반복문을 돌려서 배열의 원소와 height 값을 비교해 height 값보다 클 때 answer++ 해준다. 3. answer 을 출력한다. 작성한 코드 반복문을 돌릴 때 for 문 말고 forEach 를 쓰는 시도를 해보았다.! 비록 쉬운 문제였지만 한 번에 테스트 통과해서 굉장히 뿌듯 ㅎㅎㅎ 🎈 forEach 문 배열.forEach( ( 내가 임의로 정하는 배열 요소 하나하나의 이름 ) => { 해 줄 행동 }); 🎈 배열의 메써드 filter() 주어진 배열의 일부에 대한 얕은 복사본을 생성하고, 주어진 배열에서 제공된..

카테고리 없음 2023.10.13

코딩테스트 풀이 - 피자 나눠 먹기(1) | 소수점 올림, 내림, 반올림, 버림 Math.ceil, floor, round, trunc

🎈 내가 생각한 방법 1. 7로 나누기! 7로 나누는 코드만 작성했더니 소수점까지 나왔다. 올림을 해주어야겠다 작성한 코드 🎈 소수점 올림, Math.ceil() 숫자를 올림하여 반환한다. Math.ceil(0.14285714285714285) // 1 Math.ceil(2.142857142857143) // 3 Math.ceil(35.3) // 36 🎈 소수점 내림, Math.floor() 숫자를 내림하여 반환한다. 음수인 경우에 소수점 아래를 내림한 정수를 반환한다. Math.floor(3.75) // 3 Math.floor(95.46456) // 95 Math.floor(-4.2) // -5 Math.floor(-15.8987) // -16 🎈 소수점 반올림, Math.round() 숫자를 반올림하..

코딩테스트 2023.10.13

코딩 테스트 풀이 - 문자열 뒤집기 | split, reverse, join

🎈 내가 생각한 방법 reverse 를 사용해서 뒤집어준다. 작성한 코드 이렇게 작성했더니 오류가 났다. 왜지? 생각하면서 reverse 에 대해 찾아보니 reverse 는 배열의 순서를 뒤집어 주는 것이었다. 그렇다면 1. 문자열 한 글자씩 배열로 만들어준다. 2. reverse 를 사용해 뒤집어준다. 3. 배열을 다시 하나의 단어로 만든다. 방법을 사용해야 한다. 🎈 문자열의 메써드 split 문자열을 구분한 후 분리된 각 문자열로 이루어진 배열을 반환한다. let str = 'hello hi'; // 공백을 기준으로 구분하여 배열로 반환한다. console.log( str.split(' ')); // ['hello', 'hi'] // 한 글자씩 모두 분리한다. console.log( str.spli..

코딩테스트 2023.10.12

코딩 테스트 풀이 - 배열 원소의 길이 | forEach 문, for of 문, map 이용해 풀기

🎈 내가 생각한 방법 1. 반복문을 돌려 배열 요소 각각의 글자 갯수를 구한다. 2. 배열에 넣는다. 작성코드 🎈 배열에 요소를 추가하는 메서드 push : 배열의 맨 뒤에 요소를 하나 추가한다. let array = [1,2,3]; array.push(4); console.log(array) // [1,2,3,4] unshift : 배열의 맨 앞에 요소를 하나 추가한다. let array = [a,b,c]; array.unshift(d); console.log(array) // [a,b,c,d] 배열이름.메써드(추가 할 요소) 다른 방법으로 풀어보기 🎈forEach 문 forEach 구문의 인자로 콜백함수를 등록할 수 있고, 배열의 각 요소들이 반복될 때 콜백 함수가 호출된다. 콜백함수에서 배열요소의 ..

코딩테스트 2023.10.12

코딩테스트 풀이 - 양꼬치 | 논리연산자 || , &&

🎈 내가 생각한 코드 흐름 총 가격 = n * 12000 + k * 2000 하지만 n 이 10 보다 크고, k 값이 1 이상일 때 ( n / 10 의 정수값 ) * 2000 만큼 빼야한다. 작성코드 결과 왜 테스트 1의 값이 다를까.. 생각해보니! 10인분에 음료수 하나이기 때문에, 10인분일때도 포함시켜야한다.! 그래서 10보다 클 때 를 10보다 크거나 같을 때 로 수정해주었더니 통과 ! 혹시 몰라서 음료수를 주문하지 않았을 때의 테스트 케이스를 추가해보았다. 무사히 통과하였다. 🎈 논리연산자 || OR 두 피연산자 중 하나라도 true면 true를 반환하고, 그렇지 않으면 `false`를 반환한다. alert( true || true ); // true alert( false || true ); ..

코딩테스트 2023.10.04

코딩테스트 풀이 - 배열의 평균값 | for, forEach 문, 나누기 연산자 /

🎈 내가 생각한 방법 1. 배열의 총 합 구해주기 2. 더한 숫자를 배열의 갯수로 나눠주기 ( array.length ) 작성한 코드 🎈 for 문 let 배열 = []; let 배열의 합 = 0; for ( let i = 0; i < 배열.length; i++ ) { 배열의 합 += 배열[i]; } 🎈 forEach 문 let 배열 = []; let 배열의 합 = 0; 배열.forEach(function(item){ 배열의 합 += item; }); 🎈 나누기 연산자 / let answer = total / numbers.length;

코딩테스트 2023.10.04

코딩테스트 풀이 - 짝수의 합 / 반복문, 나머지 연산자 %, push

🎈 내가 생각한 방법 1. n 보다 작은 짝수를 구한 값을 담은 배열을 만든다. 2. 그 배열의 합을 구한다. 처음에 이렇게 시도했는데 이상하게 오류가 났다. 지금보니 짝수 배열을 만드는 반복문 종료를 제대로 안했구나 const even = new Array(); const even = []; 이 둘의 차이를 모르겠다. 만들어지는 것은 똑같은데, new Array 를 쓰면 constructor (생성자) 까지 생성해준다. fill 을 사용해서 배열을 채워서 만들때에는 위의 방법이 사용되기도 하지만 권장하는 방법은 아래의 방법이다. 결론적으로 이 코드를 작성하기 위해 필요했던 기술?들은 아래와 같다 🎈 반복문 n 보다 작거나 같은 숫자를 0부터 1씩 증가하는 반복문, 배열의 길이까지 0부터 1씩 증가하는 ..

코딩테스트 2023.08.22

React 컴포넌트

리액트에서는 앱에서 재사용 가능한 컴포넌트를 만들 수 있다. UI 의 모든 부분은 컴포넌트이다. 리액트의 함수 이름은 항상 대문자로 시작한다. ( HTML 태그와 구분하기 위해서 ) 내부의 마크업을 반환시켜 브라우저에 렌더링한다. 컴포넌트는 JSX 라 불리는 구문 확장을 사용해 마크업을 생성하는 javascript 함수이다. 중첩구성은 허용되지 않는다. 🎈컴포넌트 작성법 function Profile() { return( ); } export default Profile; 1. 컴포넌트를 내보낸다. `export default Profile;` 혹은 export default function Profile () {} 로 작성가능 2. 함수를 정의한다. `function Profile` 3. 마크업을 작성..

React 2023.08.20

useEffect 와 useEffect 를 사용해 서버에 데이터 가져오기 요청하기

function 히새() { function 안녕() { } } 히새() 지금 히새라는 함수를 실행하면, 안녕 이라는 함수를 제외한 모든 코드가 실행된다. 왜냐하면 안녕 함수를 실행시켜주지 않았기 때문이다. function 히새() { function 안녕() { } 안녕() } 히새() 이렇게 내부에서 안녕 함수를 실행시켜주는 구문을 작성해주어야 히새 함수 실행 시 안녕 함수가 바로 실행될 수 있다. 그런데 리액트에서는 우리가 함수를 실행시키는게 아니라 리액트가 알아서 실행한다. 똑똑한 리액트 친구는 히새 안에 있는 함수인 안녕 함수를 히새 함수가 실행된 다음에 실행시킨다. 단, 조건이 있다. 함수 이름을 useEffect 로 해줘👸🏻 그래서 리액트의 훅 중에 하나인 useEffect 는 "원래" 맨 ..

React 2023.08.18

8월 9일 코딩테스트 풀이 - 나이 출력, 각도기

🎈나이 출력 2022년 기준이니까 2022 - 나이 값을 한 뒤 +1 을 해줬다. +1 인 이유는 우리나라 나이시스템 때문인가!? 🎈각도기 📃 문제 📃 맨 처음 if 문을 작성했는데 if 문이 아니라 s 로 시작하는.. 조건과 실행을 여러개 해 줄 수 있는 게 있었는데 ... 도저히 생각이 안나서 if 문을 검색해보던 중, else if 에도 조건을 주는 것이 가능하다는 것을 보고 이렇게 작성했다. 엄청난 오류들이 떴다. 마지막 else 때문에 그런가? 해서 코드를 수정해보았다. function solution(angle) { if ( 0 < angle < 90 ){ return 1; } else if ( angle === 90 ){ return 2; } else if ( 90 < angle < 180 ..

코딩테스트 2023.08.09