Today I Learned Programmers 문제 풀기 해커랭크에서 코딩테스트 응시 Programmers 문제 풀기 숫자 문자열과 영단어 문제 설명 네오와 프로도가 숫자놀이를 하고 있습니다. 네오가 프로도에게 숫자를 건넬 때 일부 자릿수를 영단어로 바꾼 카드를 건네주면 프로도는 원래 숫자를 찾는 게임입니다. 다음은 숫자의 일부 자릿수를 영단어로 바꾸는 예시입니다. 1478 → "one4seveneight" 234567 → "23four5six7" 10203 → "1zerotwozero3" 이렇게 숫자의 일부 자릿수가 영단어로 바뀌어졌거나, 혹은 바뀌지 않고 그대로인 문자열 s가 매개변수로 주어집니다. s가 의미하는 원래 숫자를 return 하도록 solution 함수를 완성해 주세요. 입출력 예 s..
Today I Learned Programmers 문제 풀기 Programmers 문제 풀기 OX 퀴즈 문제 설명 덧셈, 뺄셈 수식들이 'X [연산자] Y = Z' 형태로 들어있는 문자열 배열 quiz가 매개변수로 주어집니다. 수식이 옳다면 "O"를 틀리다면 "X"를 순서대로 담은 배열을 return 하도록 solution 함수를 완성해 주세요. 입출력 예 quiz result ["3 - 4 = -3", "5 + 6 = 11"] ["X", "O"] 3 - 4 = -3 은 틀린 수식이므로 "X", 5 + 6 = 11 은 옳은 수식이므로 "O"입니다. 따라서 ["X", "O"]를 return 합니다. 나의 풀이 function solution(quiz) { let answer = []; for (const ..
Today I Learned Programmers 문제 풀기 17시 인텔리픽 모의면접 Programmers 문제 풀기 최빈값 구하기 나의 풀이 function solution(array) { // array의 최댓값 길이만큼 o으로 구성된 배열을 만듦 const numArr = Array(Math.max(...array) + 1).fill(0); // array의 정수마다 numArr의 index로 접근하여 값을 하나씩 더함 for ( const num of array ) { numArr[num] += 1 }; // numArr에서 최댓값의 index를 구해서 최빈값을 구하고 // indexOf와 lastIndexOf로 최빈값이 여러 개인 경우를 예외 처리 함 return numArr.indexOf(Ma..
Today I Learned Programmers 문제 풀기 Programmers 문제 풀기 다항식 더하기 나의 풀이 function solution(polynomial) { const array = polynomial.split(" ").filter((v) => v !== "+"); const answer = array.reduce((acc, cur) => { if ( cur.includes("x") ) { cur.length === 1 ? acc[0] += 1 : acc[0] += parseInt(cur) } else if ( !isNaN(parseInt(cur)) ) { acc[1] += parseInt(cur) } return acc }, [0,0]) return (answer[0] ? answe..
Today I Learned Programmers 문제 풀기 Programmers 문제 풀기 문자열 밀기 나의 풀이 function solution(A, B) { let array = A.split(""); if ( A === B ) return 0; for ( i = 1; i (b+b).indexOf(a) 문자열 b와 b를 더한 후에 indexOf 메서드로 a가 있는지를 탐색한다. indexOf()는일치하는 값이 없을 때 -1을 반환하는 속성을 가지고 있기 때문에 문자열 밀기가 불가능한 경우를 예외 처리해 줄 필요도 없다! 다른 사람의 풀이 02 function solution(A, B) { if (A===B) return 0; for (let i = 0; i < A.length; i++) { A = ..
Today I Learned 기술면접 스터디 기술면접 스터디 CS 지식 요소는 왜 요소의 자식 요소여야만 하나요? 정렬되지 않은 목록(unordered list)을 나타낼 때 사용 목록 안의 항목(list item)을 나타냄 과 요소는 최소 하나 이상의 요소를 자식으로 가져야 한다. 목록 태그에 링크 걸기 2 은 직계자식요소로 만 올 수 있기 때문에 목록 태그에 앵커 태그를 적용시킬 때는 2번 코드처럼 안에 를 작성해야 한다. HTML에서 요소는 목록을 나타내는 요소이며, 해당 목록의 각 항목은 요소로 구성된다. 따라서 요소의 자식 요소는 반드시 요소이어야 한다. 이는 HTML의 구조적인 규칙 중 하나로, 이를 따르지 않으면 문서 구조가 불완전하거나 잘못된 구조를 가질 수 있기 때문이다. 또한 웹 브라우..
Today I Learned Programmers 문제 풀기 기술면접 스터디 Programmers 문제 풀기 등수 매기기 나의 풀이 function solution(score) { const average_array = score.map((item) => (item[0] + item[1]) / 2); const sorted_array = [...average_array].sort((a,b) => b-a); return average_array.map((v) => sorted_array.indexOf(v)+1); } 두 과목의 점수를 평균내서 average_array를 만들고 이 배열을 내림차순으로 sort 해서 sorted_array를 생성한다. 그리고 average_array를 map을 돌려서 sort..
Today I Learned Programmers 문제 풀기 기술면접 스터디 Programmers 문제 풀기 직사각형 넓이 구하기 나의 풀이 function solution(dots) { let xDots = []; let yDots = []; dots.forEach((v) => { xDots.push(v[0]); yDots.push(v[1]); }); return Math.abs(Math.max(...xDots) - Math.min(...xDots)) * Math.abs(Math.max(...yDots) - Math.min(...yDots)); } x와 y 좌표를 배열로 따로 만든 후에 각 배열의 최솟값, 최댓값을 이용해 직사각형의 넓이를 구한다. 다른 사람들 풀이 보니까 다들 비슷하게 풀었는데 내 답..
Today I Learned Programmers 문제 풀기 기술면접 스터디 Programmers 문제 풀기 외계어 사전 나의 풀이 function solution(spell, dic) { return dic.filter((str) => str.split("").sort().join("") === spell.sort().join("")).length > 0 ? 1 : 2; } dic 배열을 filter를 돌려서 각 문자열 요소를 배열로 만든 후 sort, join한 문자열이 spell을 sort, join한 문자열과 일치한 것만 필터링한다. filter한 배열의 length가 0 이상이라면(spell에 담긴 알파벳을 한번씩만 모두 사용한 단어가 dic이 있다면) 1을 반환하고 아니면 2를 반환한다. +)..
Today I Learned Programmers 문제 풀기 기술면접 스터디 원티드 프리온보 프론트엔드 챌린지 강의 수강 Programmers 문제 풀기 잘라서 배열로 저장하기 나의 풀이 function solution(my_str, n) { let count = 0; let answer = []; while ( count < Math.ceil(my_str.length/n)) { answer.push(my_str.slice(count*n,(count*n)+n)) count++ } return answer; } while문도 한 번 써보고 싶어서 for문이 아닌 while문을 이용해서 풀었다. my_str 문자열을 n으로 나누고 while문을 돌면서 문자열을 slice한 후에 배열에 push한다. 다른 사..