목록전체 글 (141)
공부하는 스누피

https://programmers.co.kr/learn/courses/30/lessons/17681# 코딩테스트 연습 - [1차] 비밀지도 비밀지도 네오는 평소 프로도가 비상금을 숨겨놓는 장소를 알려줄 비밀지도를 손에 넣었다. 그런데 이 비밀지도는 숫자로 암호화되어 있어 위치를 확인하기 위해서는 암호를 해독해야 한다. 다 programmers.co.kr 생각과정 - 각 지도 배열에서 같은 인덱스의 정수를 이진수 문자열로 변환한다. - 둘 중 하나라도 1이 있다면 #를 추가한다. (OR 연산으로 풀 수 있음) 구현 class Solution { public String[] solution(int n, int[] arr1, int[] arr2) { String[] answer = new String[n];..

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, Pangyo, S programmers.co.kr 생각과정 - LRU 알고리즘은 오랫동안 사용하지 않는 것부터 삭제해 메모리 효율을 높..

https://programmers.co.kr/learn/courses/30/lessons/17679 코딩테스트 연습 - [1차] 프렌즈4블록 프렌즈4블록 블라인드 공채를 통과한 신입 사원 라이언은 신규 게임 개발 업무를 맡게 되었다. 이번에 출시할 게임 제목은 프렌즈4블록. 같은 모양의 카카오프렌즈 블록이 2×2 형태로 4개가 붙�� programmers.co.kr 생각과정 - 순서 1) 2*2 형태의 같은 블록이 있는지 확인 -> 없으면 종료 2) 1) 조건에 맞는 블록 터뜨리기(지우기) 3) 블록 밑에 빈공간 없도록 떨어뜨리기 -> 1)로 이동 - 2*2 형태가 여러개 겹쳐져도 모두 터뜨려야 함. => 1) 조건에 해당하는 블록에 지울 거라고 표시하기 (다른 블록과도 비교해야 하니까 문자를 바꾸면..

1. 프로세스 프로세스는 실행중인 프로그램이다. 프로그램을 실행시키려면 다음과 같은 요소가 필요하다. - 메모리에 저장된 프로그램 - 프로그램 코드 - 프로그램 카운터 (다음 프로그램을 가리킴) - 스택: LIFO, variables, function, parameters - Data section: 전역 데이터 - Heap: 모든 threads가 공유하는 라이브러리, loadable modules. Runtime에 할당됨. 프로세스 하나당 한 개 이상의 스레드를 가지고 있다. 프로세스가 다른 프로세스에 접근하려면 IPC(Inter-Process Communication)을 사용해야 한다. - Interprocess Communication(IPC) Process 간 협동할 수 있음 -> 데이터 공유, ..

https://programmers.co.kr/learn/courses/30/lessons/17677 코딩테스트 연습 - [1차] 뉴스 클러스터링 뉴스 클러스터링 여러 언론사에서 쏟아지는 뉴스, 특히 속보성 뉴스를 보면 비슷비슷한 제목의 기사가 많아 정작 필요한 기사를 찾기가 어렵다. Daum 뉴스의 개발 업무를 맡게 된 신입사원 튜브�� programmers.co.kr 생각과정 - 문제에서는 집합으로 자카드 유사도를 설명했지만, 원소의 중복을 허용하기 때문에 Set의 subclass를 사용할 수 없다. - 자카드 유사도는 다음과 같이 나타낼 수 있다. J(A, B) = 교집합 원소 수/합집합 원소 수 (A, B가 공집합일 경우 1) - HashMap을 사용하면 문자 클러스터를 key로, 원소의 개수를 ..
PHP에서 쓰이는 RewriteRule은 Apache Server로 들어온 요청 URL을 편집해서 PHP에 전달한다. .htaccess 파일이나 Apache httpd.conf 파일에 작성하면 된다. (전역 설정) 아파치 config 파일에 VirtualServer를 추가할 경우, 해당 태그의 내부에 넣어도 된다. => allowOverride All로 옵션을 변경해야 한다! RewriteRule을 사용하려면 mod_rewrite 모듈이 있어야 한다. + Ubuntu에서 mod_rewrite 활성화 $ sudo a2enmod rewrite $ sudo systemctl restart apache2 기본 형식은 아래와 같다. RewriteEngine On RewriteRule (패턴)$ 대체 [플래그] -..

https://programmers.co.kr/learn/courses/30/lessons/64061?language=java 코딩테스트 연습 - 크레인 인형뽑기 게임 [[0,0,0,0,0],[0,0,1,0,3],[0,2,5,0,1],[4,2,4,4,2],[3,5,1,3,1]] [1,5,3,5,1,2,1,4] 4 programmers.co.kr 2019 카카오 개발자 겨울 인턴십 문제입니다. 생각과정 - 바구니는 스택으로 구현 - 크레인은 이차원 배열로 나타낸다. - 크레인을 뒤집어서 배열로 구현하기 쉽게 만들자. 주어진 크레인 배열은 x축이 크레인 바닥이다. 0 0 0 0 0 0 0 1 0 3 0 2 5 0 1 4 2 4 4 2 3 5 1 3 1 ㅡㅡㅡㅡㅡ move 배열이 크레인이 내려갈 column을..

https://programmers.co.kr/learn/courses/30/lessons/42748 코딩테스트 연습 - K번째수 [1, 5, 2, 6, 3, 7, 4] [[2, 5, 3], [4, 4, 1], [1, 7, 3]] [5, 6, 3] programmers.co.kr 생각과정 - 배열의 일부분을 추출하고, - 거기서 k번째 수를 찾는다! - i, j, k가 이차원 배열로 주어져 있으니 for문을 사용해 순회하면서 k번째 수를 넣는다. - i, j, k 쌍의 개수를 N으로 하면, 시간복잡도는 O(N)이다. 구현 import java.util.Arrays; class Solution { public int[] solution(int[] array, int[][] commands) { int[] ..