[프로그래머스 - LV2] [3차] 파일명 정렬
·
알고리즘
문제 링크- https://school.programmers.co.kr/learn/courses/30/lessons/17686#문제 설명1. `HEAD` : 문자로만 이뤄진 부분2. `NUMBER` : 숫자로만 이뤄진 부분3. `TAIL` : 그 나머지 파일명을 위의 세 부분으로 나눠서 파일들을 정렬해야한다. 정렬 방법1. HEAD를 사전순으로 정렬(대소문자 구분 X)2. NUMBER를 오른차순으로 정렬3. 1, 2번이 모두 같으면, 기존에 주어진 순서를 유지 문제 풀이 1. file들을 `head`, `number`, `tail`로 구분해 문자일 때, 숫자일 때 그 나머지를 각각 넣어준다.- 여기서 char을 쓰면 숫자/문자 구분이 편한 것 같아 자주 쓰고 있다.2. 위의 정렬대로 정렬한다.- 대소문..
[프로그래머스 - LV2] [1차] 프렌즈4블록
·
알고리즘
문제 링크- https://school.programmers.co.kr/learn/courses/30/lessons/17679 문제 설명 - 주어진 `m` x `n` 보드에서 같은 모양인 2x2 블록을 찾아 제거- 제거된 후 제거된 공백을 위의 블록들이 떨어져 채움- 제거된 블록이 없을 때까지 반복하고, 제거되 블록 개수를 출력한다. 문제 풀이 1. `HashMap`으로 모양 별로 좌표를 모아 기록한다.2. hash의 각 노드에서 2x2 블럭인 `(x + 1, y)`, `(x, y + 1)`, `(x + 1, y + 1)` 가 같은 `key`를 가진다면, 제거할 좌표를 모은 `toRemove`에 추가한다.3. 모든 노드들을 검사한 후, `map`의 노드들에서 `toRemove` 에 있는 노드를 모두 제..
[프로그래머스 - LV2] 이모티콘 할인행사
·
알고리즘
문제 링크- https://school.programmers.co.kr/learn/courses/30/lessons/150368문제카카오톡에서는 이모티콘을 무제한으로 사용할 수 있는 이모티콘 플러스 서비스 가입자 수를 늘리려고 합니다.이를 위해 카카오톡에서는 이모티콘 할인 행사를 하는데, 목표는 다음과 같습니다.이모티콘 플러스 서비스 가입자를 최대한 늘리는 것.이모티콘 판매액을 최대한 늘리는 것.1번 목표가 우선이며, 2번 목표가 그 다음입니다.이모티콘 할인 행사는 다음과 같은 방식으로 진행됩니다.n명의 카카오톡 사용자들에게 이모티콘 m개를 할인하여 판매합니다.이모티콘마다 할인율은 다를 수 있으며, 할인율은 10%, 20%, 30%, 40% 중 하나로 설정됩니다.카카오톡 사용자들은 다음과 같은 기준을 따..
[프로그래머스 - LV2] [1차]뉴스 클러스터링
·
알고리즘
문제 링크https://school.programmers.co.kr/learn/courses/30/lessons/17677#문제여러 언론사에서 쏟아지는 뉴스, 특히 속보성 뉴스를 보면 비슷비슷한 제목의 기사가 많아 정작 필요한 기사를 찾기가 어렵다. Daum 뉴스의 개발 업무를 맡게 된 신입사원 튜브는 사용자들이 편리하게 다양한 뉴스를 찾아볼 수 있도록 문제점을 개선하는 업무를 맡게 되었다.개발의 방향을 잡기 위해 튜브는 우선 최근 화제가 되고 있는 "카카오 신입 개발자 공채" 관련 기사를 검색해보았다.카카오 첫 공채..'블라인드' 방식 채용카카오, 합병 후 첫 공채.. 블라인드 전형으로 개발자 채용카카오, 블라인드 전형으로 신입 개발자 공채카카오 공채, 신입 개발자 코딩 능력만 본다카카오, 신입 공채...
[프로그래머스 - LV2] [1차]캐시
·
알고리즘
문제 링크 ">문제 링크https://school.programmers.co.kr/learn/courses/30/lessons/17680 문제 ">문제 지도개발팀에서 근무하는 제이지는 지도에서 도시 이름을 검색하면 해당 도시와 관련된 맛집 게시물들을 데이터베이스에서 읽어 보여주는 서비스를 개발하고 있다.이 프로그램의 테스팅 업무를 담당하고 있는 어피치는 서비스를 오픈하기 전 각 로직에 대한 성능 측정을 수행하였는데, 제이지가 작성한 부분 중 데이터베이스에서 게시물을 가져오는 부분의 실행시간이 너무 오래 걸린다는 것을 알게 되었다.어피치는 제이지에게 해당 로직을 개선하라고 닦달하기 시작하였고, 제이지는 DB 캐시를 적용하여 성능 개선을 시도하고 있지만 캐시 크기를 얼마로 해야 효율적인지 몰라 난감한 상황이..
[프로그래머스 - lv2] 방문 길이
·
알고리즘
문제 링크https://school.programmers.co.kr/learn/courses/30/lessons/49994문제 설명게임 캐릭터를 4가지 명령어를 통해 움직이려 합니다. 명령어는 다음과 같습니다.U: 위쪽으로 한 칸 가기D: 아래쪽으로 한 칸 가기R: 오른쪽으로 한 칸 가기L: 왼쪽으로 한 칸 가기캐릭터는 좌표평면의 (0, 0) 위치에서 시작합니다. 좌표평면의 경계는 왼쪽 위(-5, 5), 왼쪽 아래(-5, -5), 오른쪽 위(5, 5), 오른쪽 아래(5, -5)로 이루어져 있습니다.예를 들어, "ULURRDLLU"로 명령했다면1번 명령어부터 7번 명령어까지 다음과 같이 움직입니다.8번 명령어부터 9번 명령어까지 다음과 같이 움직입니다.이때, 우리는 게임 캐릭터가 지나간 길 중 캐릭터가 처..