전체 글

전체 글

    [Algorithm] 반장 선거 - 최다 득표자 구하기

    입력 값 : 후보 이름이 적힌 투표지 ( 중복 가능 ) // 후보명단 : 정환, 시령, 규섭 const input = prompt('투표해주세요').split(' '); //input( 정환 정환 정환 시령 규섭 규섭 ) let result = {}; // 후보자 : 득표수를 나타낼 객체 let winner = ''; // 최다 득표자 for(let i in input) { let value = input[i]; // value 값 변수지정 result[value] = result[value] === undefined ? 1 : result[value] + 1; } winner = Object.keys(result).reduce((a,b)=> { return result[a] > result[b] ? a..

    [JS] Map()의 메서드 종류

    1. new Map() 맵 생성 // Map() 생성 let map = new Map(); //데이터 저장 map.set(key, value); //데이터 값 호출 - key에 해당하는 값이 없으면 undefined 반환 map.get(key); //데이터 유무검사 - key가 존재하면 true, 없으면 false map.has(key); //데이터 삭제 - key에 해당하는 값 삭제 map.delete(key); //데이터 모두 삭제 map.clear(); //맵의 요소개수 반환 map.size 2.  Map()의 특징 맵은 키가 있는 데이터를 저장한다는 점에서 객체와 유사하지만, 객체가 못하는 키값으로 객체를 쓸 수 있다. //Map()의 특징 : 객체를 키로 쓸 수 있다. const obj = {..

    [Algorithm] 10진수를 2진수로 변환 출력하기

    입력값을 10진수로 받으면 2진수로 변환 출력한다. // 10진수 -> 2진수 const input = prompt('10진수를 입력하세요'); function solution(input) { const a = input; const arr = []; // 2진수 값을 담을 배열 const result = ''; // 문자열로 출력할 변수 while(a) { arr.push(a % 2); // 2로 나눈 나머지가 0 or 1이라면 배열에 0 or 1을 마지막원소로 push a = parseInt(a / 2); // 그다음 입력값 a를 2로 나눈 몫을 정수처리 후 할당 } // 입력값 a를 2로 나눈 몫이 0 === false로 반복문 종료 arr.reverse(); // push했기 때문에 출력을 위해 ..

    [JS] arr.forEach() 와 arr.map()의 차이점!

    1. 공통점: 호출한 배열을 순환하면서 각 요소마다 콜백함수를 호출한다. //arr.forEach() const arr = [1, 2, 4]; const newArr = arr.forEach(x=> x*2); console.log(newArr) // undefined; //arr.map() const arr = [1, 2, 4]; const newArr = arr.map(x=> x*2); console.log(newArr) // [2, 4, 8] 2. 차이점: forEach() - return 값 = undefined; (단순 반복 == for문) map() - return 값 = 콜백 함수를 수행한 새로운 배열

    [JS] 버블정렬 알고리즘 오름차순, 내림차순

    1. 오름차순 정렬 //오름차순 const arr = [3, 5, 2, 6]; function bubble(arr) { for(let i=0; i