목록프로그래머스/Lv.2 (76)
안녕하세요
롤케이크 자르기 입출력 예toppingresult [1, 2, 1, 3, 1, 4, 1, 2] 2 [1, 2, 3, 1, 4] 0 문제 요약 2등분 했을 때 토핑 종류가 같도록 나눌 수 있는 경우의 수는? ex) a = [1,2,1], b = [1,3] => a는 1,2 두 종류, b는 1,3 두 종류이므로 의도대로 나뉜 것이다. 코드 풀이 1. map을 이용해 토핑의 종류별 갯수를 저장합니다. const bMap = new Map(); topping.forEach((number) => bMap.set(number, bMap.get(number) ? bMap.get(number) + 1 : 1)); => Map(4) { 1 => 4, 2 => 2, 3 => 1, 4 => 1 } 2. topping의 왼쪽..
거리두기 확인하기 문제 설명 개발자를 희망하는 죠르디가 카카오에 면접을 보러 왔습니다. 코로나 바이러스 감염 예방을 위해 응시자들은 거리를 둬서 대기를 해야하는데 개발 직군 면접인 만큼 아래와 같은 규칙으로 대기실에 거리를 두고 앉도록 안내하고 있습니다. 대기실은 5개이며, 각 대기실은 5x5 크기입니다. 거리두기를 위하여 응시자들 끼리는 맨해튼 거리1가 2 이하로 앉지 말아 주세요. 단 응시자가 앉아있는 자리 사이가 파티션으로 막혀 있을 경우에는 허용합니다. 5개의 대기실을 본 죠르디는 각 대기실에서 응시자들이 거리두기를 잘 기키고 있는지 알고 싶어졌습니다. 자리에 앉아있는 응시자들의 정보와 대기실 구조를 대기실별로 담은 2차원 문자열 배열 places가 매개변수로 주어집니다. 각 대기실별로 거리두기를..
멀쩡한 사각형 문제 설명 가로 길이가 Wcm, 세로 길이가 Hcm인 직사각형 종이가 있습니다. 종이에는 가로, 세로 방향과 평행하게 격자 형태로 선이 그어져 있으며, 모든 격자칸은 1cm x 1cm 크기입니다. 이 종이를 격자 선을 따라 1cm × 1cm의 정사각형으로 잘라 사용할 예정이었는데, 누군가가 이 종이를 대각선 꼭지점 2개를 잇는 방향으로 잘라 놓았습니다. 그러므로 현재 직사각형 종이는 크기가 같은 직각삼각형 2개로 나누어진 상태입니다. 새로운 종이를 구할 수 없는 상태이기 때문에, 이 종이에서 원래 종이의 가로, 세로 방향과 평행하게 1cm × 1cm로 잘라 사용할 수 있는 만큼만 사용하기로 하였습니다. 가로의 길이 W와 세로의 길이 H가 주어질 때, 사용할 수 있는 정사각형의 개수를 구하는..
가장 큰 정사각형 찾기 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 0 1 1 1 1 1 1 1 1 1 1 1 0 0 1 0 문제요약: 0과 1로 이루어진 이차원 배열 속에서 1로 이루어진 가장 큰 정사각형의 크기를 구하시오. 문제 풀이 순서 0 1 1 1 1 1 1 1 1 1 1 1 0 0 1 0 이중 for 문을 이용해서 배열을 한 칸씩 돌며 빨간색 지점을 기준으로 board[i][j] && => 빨간색 지점이 1인지 확인한다. board[i - 1][j - 1] > 0 && board[i - 1][j] > 0 && board[i][j - 1] > ..