코딩테스트

문제 https://school.programmers.co.kr/learn/courses/30/lessons/181851 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 풀이 일단..문제를 보고 든 생각, 배열에서 true만 뽑아 랭크 : 번호 로 할당된 객체를 만든다. 객체는 key가 숫자일 경우 자동적으로 오름차순 정렬되기 때매 랭크 순서대로 정렬된 값을 구할 수 있다. 다음 Object.values 를 통해 배열로 변경해 순서대로 3개를 꺼낸다 (무조건 3개 이상의 값을 가진다는 조건이 있으니 등수가 모자랄 경우는 고려하지 않음) function so..
문제 https://school.programmers.co.kr/learn/courses/30/lessons/120882 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 풀이 일단 배열을 돌며 평균 점수로 바뀐다. 점수를 sort를 통해 크기 순서대로 정렬한 다음 해당 배열에 해당하는 인덱스를 찾아 낸다 => 등수!! function solution(score) { const avg = score.map((test) => test.reduce((a, b) => a + b, 0) / test.length); const sortedAvg = [...avg].s..
문제 https://school.programmers.co.kr/learn/courses/30/lessons/120860 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 풀이 직사각형이란 조건이 주어졌으니 직각이다라는 점을 생각하면 된다. 한 꼭짓점을 공유하는 두 변을 찾으면 된다. 좌표 하나를 기준으로 정한 다음, x좌표가 같은 경우, y좌표가 같은 경우를 찾아 길이를 구해 곱해준다. function solution(dots) { //직사각형 = 직각, 서로 직각이 되는 면을 찾자 const [x, y] = dots[0]; let answer = 1; /..
문제 https://school.programmers.co.kr/learn/courses/30/lessons/120861 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 풀이 어떤 조건일때 어떤 동작을 한다? case 를 나누자 => 스위치문 사용 제약 조건으로는 맵의 크기를 넘기면 안된다고 했으니, 최대 움직일 수 있는 사이즈를 구한다. 2로 나누고 반내림으로 넓이 높이를 구한다! 연산을 수행하면서 넘을 경우에는 무시하도록 if 조건을 달아준다. 이때 1을 더하는 것과 달리 -1을 시행하는 경우에는 - 값이 더 커야 한다는 것을 주의하며 부등호를 표기하자..
문제 https://school.programmers.co.kr/learn/courses/30/lessons/120922 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 풀이 문제만 언뜻 보면 어려워 보이지만 규칙을 찾아보면 간단하다. 2x2 사이즈를 자르면 4조각이 나온다. 이때 가위질은 3번 2x5 사이즈를 자르면 10조각이 나온다. 이때 가위질은 9번... 그러면 MxN 조각을 자르면? MN 조각이 나온다. 이때 가위질은 M*N -1 번 이라는 규칙이 생긴다. 그림을 그려서 생각해보면 더 간단하다. 처음 한번에 쭉 자르고 난 후 조각조각 자르면 된다...
문제 https://school.programmers.co.kr/learn/courses/30/lessons/120869 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 풀이 배열의 요소를 확인하면서 해당 문자열이 spell을 모두 만족하는 경우, 1을 리턴. 못 찾고 반복문이 끝날 경우, 2를 리턴한다. 조건에서 spell이 한번씩만 들어가야 된다고 했으므로, 길이를 비교하는 조건을 추가했다. function solution(spell, dic) { for (word of dic) { if (spell.length === word.length && spe..
문제 https://school.programmers.co.kr/learn/courses/30/lessons/181943 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 풀이 필요한 만큼 문자열 잘라낸 후 이어 붙인다. function solution(my_string, overwrite_string, s) { return my_string.slice(0, s) + overwrite_string + my_string.slice(s + overwrite_string.length); }
문제 https://school.programmers.co.kr/learn/courses/30/lessons/181836 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 풀이 예시를 잘 살펴보면 규칙을 알 수 있다. 배열에 있는 요소당 문자를 k배 해주고 그 줄을 k배 추가해주면 된다. function solution(picture, k) { //가로세로 2배씩 해주면 된다 //한줄 당 k배로 만들고 그 줄을 k배 추가한다 let answer = []; picture.forEach((item) => { const line = [...item].map((ch..
문제 https://school.programmers.co.kr/learn/courses/30/lessons/181830 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 풀이 arr의 모든 원소의 길이는 같다는 조건이 있으므로 행과 열이 같은 경우에는 바로 리턴해서 빠져나온다. 그리고 같지 않은 경우에는 그만큼 0을 채워주고, 아예 원소가 없는 경우에는 0으로 다 채워서 넣어준다. function solution(arr) { //행, 열이 같은 경우 if (arr.length === arr[0].length) { return arr; } //같지 않은 경우..
문제 https://school.programmers.co.kr/learn/courses/30/lessons/181858 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 풀이 중복을 제거한 다음 다시 배열로 만들어 조건에 맞게 처리해준다. function solution(arr, k) { let answer = []; const set = new Set(arr); const array = [...set]; for (let i = 0; i < k; i++) { answer.push(array[i] !== undefined ? array[i] : -1); } ..
빔네모
'코딩테스트' 태그의 글 목록 (4 Page)