본문 바로가기

Programming/CodingTest6

[프로그래머스] [1차] 캐시 캐시 지도개발팀 상황 제이지 ) 지도에서 도시 이름 검색 -> 맛집 게시물을 db에서 읽어 보여줌 어피치 ) 각 로직 성능 측정 -> db 가져오는 실행시간 오래 걸림 제이지 ) 캐시 크기 얼마 good? db 캐시 적용 시 캐시 크기에 따른 실행시간 측정 형식 캐시 크기 cacheSize 정수 0~30, 도시 이름 배열 cities 최대 100,000개 각 도시 이름은 영문자로만 구성, 대소문자 구분x, 최대 20자 답 ) 총 실행 시간 조건 ) 캐시 교체 알고리즘 : LRU Least Recently Used cache hit : 1 cache miss : 5 LRU 알고리즘 ) 가장 오랫동안 참조되지 않은 페이지 교체 예시 cacheSize : 3, cities = [제주, 판교, 서울, 뉴욕, L.. 2024. 3. 17.
[프로그래머스] 의상 (해시) 의상 매일 다른 코디 조합 clothes 행 : [의상 이름, 의상 종류] 문자열 의상 수 1~30개 이하 의상 이름 중복 x 문자열 길이 1~20 이하, 소문자, _ 예제 노란모자, 헤드기어 선글라스, 눈 옷 초록터반 헤드기어 생각 및 이해 카테고리 별로 숫자만 중요할 듯하다 생각 1 ) if [2,1] 한 카테고리만 3 (총 개수) 두 카테고리 2*1 (각 개수의 곱) if [3] 한 카테고리만 if [3,9, 19, 2] 한 카테고리 = 총합 nC1 두 카테고리 = 둘 씩 곱? (3*9 + 3*19 + 3*2 + 9*19 + 9*2 + 19 * 2) a 세 카테고리 = 셋 씩 -----------------비효율적인 것 같다 생각 2 ) if 한 카테고리에 의상 종류 = 4 then 5가지 경우의 .. 2024. 3. 15.
[프로그래머스] n^2 배열 자르기 문제 설명 아이디어 구현 코드 배열에 규칙이 보였기 때문에 n^2 만큼의 배열을 만들어서 일일이 한 행씩 추가하는 건 비효율적일 것 같다. #include #include using namespace std; vector solution(int n, long long left, long long right) { vector answer; for (long long i = left; i = r * n && i < r * (n+1)) answer. push_back(r + 1); else answer.push_back(i + 1 - r*n); } return answer; } 아이디어에서 말한 예외를 if문으로 처리 주의 ) row를 표현한 r을 int로 하면 x 신경쓰이는 점이 예외 개수가 r개여서 더 간.. 2024. 3. 13.
[프로그래머스] 완주하지 못한 선수 문제 1명의 선수를 제외하고, 모두 완주 참여 선수들 이름 : participant 완주 선수들 이름 : completion 제한사항 총 선수는 1명 이상 10만명 이하 각 이름은 1개 이상 20개 이하의 알파벳 소문자 동명이인 가능 @ 완주 못한 선수 이름 [아이디어] 집합으로 따지면 A⊃B에서 A-B을 떠올렸으나, 동명이인이 가능하다고 하여 집합 생각은 x 해시 카테고리여서인지 map으로 각 이름을 key로, 해당 이름을 가진 사람 수를 value로 해도 되겠다 생각 [구현] #include #include #include using namespace std; string solution(vector participant, vector completion) { string answer = ""; ma.. 2024. 3. 8.
728x90