목록레벨2 (19)
-
카카오 2018 Blind recruitment 문제다. 레벨 2 문제로 프로그래머스 링크로 확인해볼 수 있다. https://programmers.co.kr/learn/courses/30/lessons/17680 코딩테스트 연습 - [1차] 캐시 | 프로그래머스 3 [Jeju, Pangyo, Seoul, NewYork, LA, Jeju, Pangyo, Seoul, NewYork, LA] 50 3 [Jeju, Pangyo, Seoul, Jeju, Pangyo, Seoul, Jeju, Pangyo, Seoul] 21 2 [Jeju, Pangyo, Seoul, NewYork, LA, SanFrancisco, Seoul, Rome, Paris, Jeju, NewYork, Rome] 60 5 [Jeju, Pan..
https://programmers.co.kr/learn/courses/30/lessons/12905# 코딩테스트 연습 - 가장 큰 정사각형 찾기 | 프로그래머스 [[0,1,1,1],[1,1,1,1],[1,1,1,1],[0,0,1,0]] 9 programmers.co.kr 처음에 for문으로 답을 찾으려 했다가 정확성은 맞았지만 효율성테스트에서 실패한 케이스다. 다시 문제를 분석하고 DP로 더 빠르게 풀 수 있는 것을 알게 된 뒤, 재설계해서 풀었다. 먼저 DP배열에 모두 0을 넣고, board에 1이 담겨있는 곳의 dp값을 1로 초기화 해주었다. 만약 board값을 확인하는 과정에서 1이 발견되지 않으면 0을 반환하고 종료하도록 했다. 그렇지 않은 경우 최소 1의 넓이를 가질 것이므로 answer의 초..
https://programmers.co.kr/learn/courses/30/lessons/17679 코딩테스트 연습 - [1차] 프렌즈4블록 | 프로그래머스 프렌즈4블록 블라인드 공채를 통과한 신입 사원 라이언은 신규 게임 개발 업무를 맡게 되었다. 이번에 출시할 게임 제목은 프렌즈4블록. 같은 모양의 카카오프렌즈 블록이 2×2 형태로 4개가 붙어있을 경우 사라지면서 점수를 얻는 게임이다. 만약 판이 위와 같이 주어질 경우, 라이언이 2×2로 배치된 7개 블록과 콘이 2×2로 배치된 4개 블록이 지워진다. 같은 블록은 여러 2×2에 포함될 수 있으며, 지워지는 조건에 만족하는 2×2 모양이 여러 개 있다면 programmers.co.kr 2x2 크기의 동일 블록에 대한 블록게임을 구현하는 문제였다. ..
https://programmers.co.kr/learn/courses/30/lessons/42842 코딩테스트 연습 - 카펫 | 프로그래머스 Leo는 카펫을 사러 갔다가 아래 그림과 같이 중앙에는 빨간색으로 칠해져 있고 모서리는 갈색으로 칠해져 있는 격자 모양 카펫을 봤습니다. Leo는 집으로 돌아와서 아까 본 카펫의 빨간색과 갈색으로 색칠된 격자의 개수는 기억했지만, 전체 카펫의 크기는 기억하지 못했습니다. Leo가 본 카펫에서 갈색 격자의 수 brown, 빨간색 격자의 수 red가 매개변수로 주어질 때 카펫의 가로, 세로 크기를 순서대로 배열에 담아 return 하도록 solution 함수 programmers.co.kr 프로그래머스 완전탐색 문제다. DFS나 BFS, 비트마스킹, next_perm..
대학원때 논문쓰면서 H-index를 잘 몰랐는데 어쩌다 이 문제로 잘 알게됐다. https://programmers.co.kr/learn/courses/30/lessons/42747 코딩테스트 연습 - H-Index | 프로그래머스 H-Index는 과학자의 생산성과 영향력을 나타내는 지표입니다. 어느 과학자의 H-Index를 나타내는 값인 h를 구하려고 합니다. 위키백과1에 따르면, H-Index는 다음과 같이 구합니다. 어떤 과학자가 발표한 논문 n편 중, h번 이상 인용된 논문이 h편 이상이고 나머지 논문이 h번 이하 인용되었다면 h가 이 과학자의 H-Index입니다. 어떤 과학자가 발표한 논문의 인용 횟수를 담은 배열 citations가 매개변수로 주어질 때, 이 과학자의 H- programmers..
완전 탐색 문제다. 접근법을 dfs로 백트래킹하여 찾아보려 했으나 '순차적인' 문자열만 만들 수 있어 풀이가 어려웠다. 길이가 1부터 전체 사용하는 문자열을 만들 수는 있지만, numbers로 "17"이 주어졌을 때 "1", "7", "17"은 만들 수 있지만 "71"은 만들 수 없다. 그래서 다른 방법을 생각해봤다. "주어진 숫자를 내림차순하고 각 숫자를 이루는 숫자가 몇 번 등장하는지 배열을 써서 2부터 주어진 숫자까지 루프를 돌면서 그 숫자에 등장하는 숫자들이 배열의 요소 이하로 등장하는지 검사하고, 이것이 소수이면 answer++하자!" 즉, 내림차순하면 최대 범위를 구하게 되는 것이고, 2이상의 값부터 검사를 해서 유효한 숫자이면 소수검사를 하는 것이 알고리즘이다. 만약 1이하의 값이 numbe..
https://programmers.co.kr/learn/courses/30/lessons/42577 코딩테스트 연습 - 전화번호 목록 | 프로그래머스 전화번호부에 적힌 전화번호 중, 한 번호가 다른 번호의 접두어인 경우가 있는지 확인하려 합니다. 전화번호가 다음과 같을 경우, 구조대 전화번호는 영석이의 전화번호의 접두사입니다. 구조대 : 119 박준영 : 97 674 223 지영석 : 11 9552 4421 전화번호부에 적힌 전화번호를 담은 배열 phone_book 이 solution 함수의 매개변수로 주어질 때, 어떤 번호가 다른 번호의 접두어인 경우가 있으면 false를 그렇지 않으면 true를 r programmers.co.kr 문자열을 정렬한 뒤, 뒤의 문자열에서 find로 앞의 문자열을 넣어 ..