https://programmers.co.kr/learn/courses/30/lessons/60059 코딩테스트 연습 - 자물쇠와 열쇠 [[0, 0, 0], [1, 0, 0], [0, 1, 1]] [[1, 1, 1], [1, 1, 0], [1, 0, 1]] true programmers.co.kr 무언가 최적화된 알고리즘이 있을꺼 같아서 찾아 봤지만, 전체 검색을 제외 하고는 특별한 방법이 없었던거 같다. key의 length와 Lock의 Length를 위, 아래, 좌, 우 합쳐진 큰 네모로 만들고 가운데에 Lock을 위치 시켜 full search 했다. Rotation은 컬럼을 Row로 만드는 방식을 90도 순환 시켰다. function solution(key, lock) { let fullRow =..
https://programmers.co.kr/learn/courses/30/lessons/60060# 코딩테스트 연습 - 가사 검색 programmers.co.kr 선형형 풀이 효율성 테스트 2번은 선형형 풀이로는 더이상 안되는 것 같다. Trie 풀이로 변경 예정 function solution(words, queries) { let lenArray = new Array(); let results = new Array(queries.length).fill(0); let map = new Map(); for(let word of words){ let len = word.length; if(lenArray[len] == null){ lenArray[len] = new Array(); } lenArray[..
https://programmers.co.kr/learn/courses/30/lessons/17677 코딩테스트 연습 - [1차] 뉴스 클러스터링 뉴스 클러스터링 여러 언론사에서 쏟아지는 뉴스, 특히 속보성 뉴스를 보면 비슷비슷한 제목의 기사가 많아 정작 필요한 기사를 찾기가 어렵다. Daum 뉴스의 개발 업무를 맡게 된 신입사원 튜브�� programmers.co.kr 몇가지 단계에 나누어서 처리하면 된다. 1. 2단어씩 자른다 2. 잘린 단어가 쓸 수 있는 단어인지 확인한다 3. 교집합 갯수를 구한다 4. 전체 총 갯수를 구한다. 5. 전체 총 갯수에서 교집합 수를 빼서 다시 전체 총 갯수를 만든다. - 1,1,1,1,1 과 1,1,1 이 있을 경우 교집합은 3, 합집합은 5이다. 전체 총수 8 - ..
https://programmers.co.kr/learn/courses/30/lessons/17681 코딩테스트 연습 - [1차] 비밀지도 비밀지도 네오는 평소 프로도가 비상금을 숨겨놓는 장소를 알려줄 비밀지도를 손에 넣었다. 그런데 이 비밀지도는 숫자로 암호화되어 있어 위치를 확인하기 위해서는 암호를 해독해야 한다. 다 programmers.co.kr bit 연산자를 통해서 문제를 해결할 수 있다. - 지도 1과 지도 2의 숫자 비트 합 = a | b 1 or 1 = 1 1 or 0 = 1 0 or 1 = 1 - 최 우측 비트 연산 = a & 1 - 오른쪽으로 한칸 밀어 내기 = a >> 1 function solution(n, arr1, arr2) { let mapInt = new Array(arr1..
let result = new Array(); for(let i = 0; i failures[b]-failures[a]); https://programmers.co.kr/learn/courses/30/lessons/42889# 코딩테스트 연습 - 실패율 실패율 슈퍼 게임 개발자 오렐리는 큰 고민에 빠졌다. 그녀가 만든 프랜즈 오천성이 대성공을 거뒀지만, 요즘 신규 사용자의 수가 급감한 것이다. 원인은 신규 사용자와 기존 사용자 사이에 스�� programmers.co.kr 실패율 = 해당스테이지에 남아있는 사람 / 해당 스테이지 도달한 사람(통과 포함) 스테이지에 머물러 있는 사람 for(let stag..
https://programmers.co.kr/learn/courses/30/lessons/17682 코딩테스트 연습 - [1차] 다트 게임 programmers.co.kr 가장 풀기 싫어 하는 유형.. 극혐.. if else의 향연 조건을 꼼꼼히 대조해보는 수밖에 없다. function solution(dartResult) { //얻을 수 있는 점수는 0점에서 10점 //Single(S) ^^1, Double(D)^^2, Triple(T)^^3 영역 //스타상(*) 바로 전에 얻은 점수를 각 2배, 첫 번째 기회에서도 나올 수 있다./중첩된 스타상(*) 점수는 4배 //아차상(#) 당첨 시 해당 점수는 마이너스, 스타상(*)의 효과는 아차상(#)의 효과와 중첩 : 점수는 -2배 //Single(S), ..
https://programmers.co.kr/learn/courses/30/lessons/12921# 코딩테스트 연습 - 소수 찾기 1부터 입력받은 숫자 n 사이에 있는 소수의 개수를 반환하는 함수, solution을 만들어 보세요. 소수는 1과 자기 자신으로만 나누어지는 수를 의미합니다. (1은 소수가 아닙니다.) 제한 조건 n은 2이상 programmers.co.kr 2가지를 알고 있어야 한다. 1. Prime Number는 Root로 자신을 쒸운값 이하로 2부터 순차적으로 나누어서 나누어 지면 Prime이 아니다. 반대로 끝까지 안나누어 지면 Prime이다. function isPrime(digit){ let count = Math.floor(Math.sqrt(digit)); for(let i =..
https://programmers.co.kr/learn/courses/30/lessons/12919 코딩테스트 연습 - 서울에서 김서방 찾기 String형 배열 seoul의 element중 Kim의 위치 x를 찾아, 김서방은 x에 있다는 String을 반환하는 함수, solution을 완성하세요. seoul에 Kim은 오직 한 번만 나타나며 잘못된 값이 입력되는 경우는 없습니다. 제 programmers.co.kr function solution(seoul) { for(let i = 0; i < seoul.length ; i++){ if(seoul[i] == "Kim") return `김서방은 ${i}에 있다`; } return false; }
https://programmers.co.kr/learn/courses/30/lessons/12918?language=javascript 코딩테스트 연습 - 문자열 다루기 기본 문자열 s의 길이가 4 혹은 6이고, 숫자로만 구성돼있는지 확인해주는 함수, solution을 완성하세요. 예를 들어 s가 a234이면 False를 리턴하고 1234라면 True를 리턴하면 됩니다. 제한 사항 s는 길이 1 이�� programmers.co.kr 4와 6이라는 길이 외의 모든 input은 false가 되어야 한다. 해당 문제의 지문을 보고 이렇게 곧이곧대로 받아 들였어야 하는데.. 쉽지 않다 아래는 틀린 답 function solution(s) { for(let i = 0; i < s.length; i++){ if..