목록전체 글 (62)
코린이 탈출기
문제 바로가기 코딩테스트 연습 - 외벽 점검 레스토랑을 운영하고 있는 스카피는 레스토랑 내부가 너무 낡아 친구들과 함께 직접 리모델링 하기로 했습니다. 레스토랑이 있는 곳은 스노우타운으로 매우 추운 지역이어서 내부 공사를 하는 programmers.co.kr 각 외벽 사이의 공간 길이를 empty 벡터에 넣는다. (이 벡터의 길이는 weak.size() +1 ) dist 벡터를 내림차순으로 sort 한다. 많은 공간을 탐색할 수 있는 친구부터 탐색하면 탐색횟수를 줄일 수 있다. dist의 순열을 구한다. -> 순서가 달라지면 다른 경우이기 때문에 각 순열(set)의 경우에 모든 외벽(tmp_empty)을 탐색할 수 있는 지 검사한다. 외벽은 원형으로 이루어져 있기 때문에 rotate 해주어야 한다. 현재..
- 순열 void Permutation(int now_c, int goal_c, vector arr) { if (now_c == goal_c) { //순열 생성 완료 cout
문제 바로가기 코딩테스트 연습 - 기둥과 보 설치 5 [[1,0,0,1],[1,1,1,1],[2,1,0,1],[2,2,1,1],[5,0,0,1],[5,1,0,1],[4,2,1,1],[3,2,1,1]] [[1,0,0],[1,1,1],[2,1,0],[2,2,1],[3,2,1],[4,2,1],[5,0,0],[5,1,0]] 5 [[0,0,0,1],[2,0,0,1],[4,0,0,1],[0,1,1,1],[1,1,1,1],[2,1,1,1],[3,1,1,1],[2,0,0,0],[1,1,1,0],[2,2,0,1]] [[ programmers.co.kr 처음에는 기둥과 보를 만들 수 있는 자리를 배열로 만들었는데 이렇게 하니 너무 복잡해져서 현재 기둥과 보가 있는 좌표를 배열로 만들었다. 1. 기둥과 보 배열을 만든다. ..
1. 배열 생성 var arr = new Array(); var arr = new Array("a", "b", "c"); var arr = [1, 2, 3, 4]; - n x n 2차원 배열 선언 및 초기화 var arr = new Array(); for (var i = 0; i < n; i++) { arr[i] = new Array(n); for (var j = 0; j < n + 1; j++) { arr[i][j] = 0; } } 2. 배열 원소 삭제 var example = ["a", "b", "c", "d"]; var example2 = example.splice(1, 2); //배열의 1번째 원소("b")부터 2개 삭제 console.log(example); // a, d console.log(..
문제 바로가기 코딩테스트 연습 - 자물쇠와 열쇠 [[0, 0, 0], [1, 0, 0], [0, 1, 1]] [[1, 1, 1], [1, 1, 0], [1, 0, 1]] true programmers.co.kr 완전탐색 문제. 백트래킹으로 풀려고 하다가 이상해가지고 ㅠ,, 그냥 완탐으로 풀면 되는 문제였당 근데 그것도 쉽지않았다 자물쇠 열쇠 배열 크기가 다를 수도 있는데 예시 테케가 같아가지고 그냥 아무생각 없이 같다고 두고 풀었당.. 개멍충이 자물쇠 배열의 크기 N, 열쇠 배열의 크기 M이라고 할 때, 새로운 자물쇠 배열을 N + 2 * (M-1) size로 지정해준다. 그리고 열쇠 배열을 옮겨가면서 새로운 자물쇠 배열 위에서 옮겨주며 XOR 연산을 한다. 이 때 기존의 자물쇠 배열 부분만 뽑아서 (i..
문제 풀어보기 코딩테스트 연습 - 괄호 변환 카카오에 신입 개발자로 입사한 콘은 선배 개발자로부터 개발역량 강화를 위해 다른 개발자가 작성한 소스 코드를 분석하여 문제점을 발견하고 수정하라는 업무 과제를 받았습니다. 소스를 컴� programmers.co.kr 이 문제도 구냥 구현 문제. 2번까지는 무난한듯 ! 3번부터 오지게 헤맸다지요 ... 문제 설명에 구현방법이 순서대로 아주 잘 나와있다. 그대로 코드로 옮기기만 하면 된다. 이것도 문자열을 자르고 붙이고 해야돼서 자바스크립트로 풀어보았다. 이 문제는 설명할 게 딱히 없다. 정말 그대로 옮겨놓은게 다라스... 아! 올바른 괄호 문자열인지 확인할 때 stack의 성질을 이용하였다 ! -전체 코드-
문제 풀어보기 코딩테스트 연습 - 문자열 압축 데이터 처리 전문가가 되고 싶은 어피치는 문자열을 압축하는 방법에 대해 공부를 하고 있습니다. 최근에 대량의 데이터 처리를 위한 간단한 비손실 압축 방법에 대해 공부를 하고 있는데, 문자 programmers.co.kr 문제에서 요구하는 대로 구현하면 된다. 어렵지 않은 문제 ! 그래 솔직히 첫 문제부터 어려우면 안되지.. 7문제나 내면서 ㅠ ㅠ 궁시렁 C++은 string에 대한 함수가 너무 없어서 javascript로 풀어보았다 요새 IR센터 근무하면서 계속 자바스크립트를 다루다 보니 어느새 손에 익숙해져서,, ㅎ 크롬으로 디버깅 돌리는 게 너무 편해서 좋다. 알아서 코드 옆에 변수 값 어떻게 바뀌는지 다 보여준다 ~ 문자열을 제일 앞에서부터 정해진 길이..
문제 풀어보기 코딩테스트 연습 - 가사 검색 programmers.co.kr TRIE 자료구조를 이용하여 해결하는 문제 일반적인 선형 자료구조로는 절 대 해결 불가 ~ 무조건 시간 초과다 1. 와일드카드('?')가 키워드의 접두사 혹은 접미사에 나타나므로, 순방향 트라이/ 역방향 트라이(단어 순서의 방향을 의미함) 두 개를 만들어 주어야 한다. 2. words 벡터의 각 string을 순방향 트라이에 insert 해준다. 또한, 각 string을 reverse 하여 역방향 트라이에 insert 해준다. 3. queries 벡터의 각 키워드의 와일드카드가 접두사/ 접미사에 나타나는 지 확인하고 그에 맞는 트라이에서 키워드 별로 매치된 단어의 수를 구한다. 3-1. Find 함수에서 '?'가 나오기 전까지 ..