본문 바로가기

문제풀이

프로그래머스 코딩테스트 Kit 스택/큐 문제풀이 프로그래머스 코딩테스트 kit 스택/큐로 분류되어 있는 탑, 다리를 지나는 트럭, 기능개발, 프린터, 쇠막대기, 주식가격 문제풀이. 1.탑 function solution(heights) { const answer = [0]; for (let i = 1; i < heights.length; i++) { for (let j = i - 1; 0 heights[i]) { answer.push(j + 1) break } } if (answer.length === i) { answer.push(0) } } return answer; } 2.다리를 지나는 트럭 function solution(bridgeLength, weight, truckWeights) { truckWeights.reverse() const on.. 더보기
Google Code Jam 2020 Qualification Round 후기 지난 일요일에 27시간동안 구글코드잼 2020 Qualification Round가 있었고 통과했다. 점수체계도 모르고 참가하면 다 통과하는 연습라운드이거니하고 참가했었는데 Qualification Round에서 총 30점 이상 받아야한다는 규칙이 있었다. 그래도 5문제 중 풀만한 난이도의 문제 3개만 풀면 통과 가능한 점수를 받을 수 있고 시간제한도 넉넉하기 때문에 충분히 시간을 투자하고 참가했다면 거진 통과할 수 있었을 것 같다. Qualification Round에서 푼 문제들을 간략하게 정리해보겠다. 1. Vestigium 각 행과 열에 중복된 숫자없이 1~N사이의 원소가 한번씩 등장하는 N x N 정사각형을 Latin Square라고 한다. 주어진 정사각형이 Latin Square가 맞는지 확인.. 더보기
2018 카카오 코딩테스트 1차 프렌즈4블록 JS 문제풀이 🔗직접 문제 풀러가기 문제 지워지는 블록은 몇개인가? 2 x 2 형태로 같은 캐릭터가 붙어있으면 사라지면서 점수를 얻는다. 한 블록은 여러개의 2 x 2 에 포함될 수 있다. 블록이 지워진 뒤에는 위에서 아래로 블록들이 쏟아진다. 라이언(R), 무지(M), 어피치(A), 프로도(F), 네오(N), 튜브(T), 제이지(J), 콘(C) 문제풀이 function solution(m, n, board) { board = board.map(line => line.split('')); let pang = new Set(); while (true) { for (let i = 0; i + 1 < m; i++) { for (let j = 0; j + 1 < n; j++) { if (!board[i][j]) { conti.. 더보기
2018 카카오 코딩테스트 1차 비밀지도 JS 문제풀이 🔗직접 문제 풀러가기 문제 지도는 한 변의 길이가 n인 정사각형 배열 형태로, 각 칸은 공백(" ") 또는벽("#") 두 종류로 이루어져 있다. 전체 지도는 두 장의 지도를 겹쳐서 얻을 수 있다. 각각 지도1과 지도2라고 하자. 지도1 또는 지도2 중 어느 하나라도 벽인 부분은 전체 지도에서도 벽이다. 지도 1과 지도 2에서 모두 공백인 부분은 전체 지도에서도 공백이다. 지도 1과 지도 2는 각각 정수 배열로 암호화되어 있다. 암호화된 배열은 지도의 각 가로줄에서 벽 부분을 1, 공백 부분을 0으로 부호화했을 때 얻어지는 이진수에 해당하는 값의 배열이다. 문제풀이 1. 각 배열의 i번째 정수를 이진수로 바꾸었을 떄 01 과 11라면 해독된 숫자는 이진수 11이다. 즉, OR 연산을 활용하면 된다. 2. .. 더보기