목록문제 풀이 (47)
코린이 탈출기
문제 바로가기 코딩테스트 연습 - 무지의 먹방 라이브 programmers.co.kr 겨우 풀었는데 정확성 테스트도 1개 안돌아가고 효율성 테스트에서는 다 시간초과나서 어떻게 푸는지 보고 풀었다. 시간을 기준으로 풀면 안되고 각 접시를 기준으로 풀어야 한다. 1. food라는 새로운 2차원 배열을 만들어서 첫번째 원소에는 그 접시를 먹는 데 걸리는 시간, 두번째 원소에는 idx를 넣는다. 2. food 배열을 시간 기준으로 내림차순 정렬한다. 3. food 배열을 탐색하면서 각 접시를 다 먹었을 때를 가정한다. eatingTime은 한 접시를 다 먹는데 걸리는 시간인데, 그 접시를 다먹는 데 걸리는 시간 * 아직 음식이 남아있는 접시 개수이다. eatingTime이 k보다 작거나 같다면 k를 eating..
문제 바로가기 코딩테스트 연습 - 후보키 [["100","ryan","music","2"],["200","apeach","math","2"],["300","tube","computer","3"],["400","con","computer","4"],["500","muzi","music","3"],["600","apeach","music","2"]] 2 programmers.co.kr 1. 각 attribute에 대한 조합을 만들어서 candidate 배열에 넣어준다. 2. candidate를 isCorrectCandidate() 함수를 통해 탐색한다. isCorrectCandidate() 함수 내에서는 최소성과 유일성을 만족하는지 확인해준다. 3. 최소성을 확인해주기 위해서는 현재 set이 answer_s..
문제 바로가기 코딩테스트 연습 - 실패율 실패율 슈퍼 게임 개발자 오렐리는 큰 고민에 빠졌다. 그녀가 만든 프랜즈 오천성이 대성공을 거뒀지만, 요즘 신규 사용자의 수가 급감한 것이다. 원인은 신규 사용자와 기존 사용자 사이에 스�� programmers.co.kr 하라는 대로 하면 된다. -전체 코드-
문제 바로가기 코딩테스트 연습 - 오픈채팅방 오픈채팅방 카카오톡 오픈채팅방에서는 친구가 아닌 사람들과 대화를 할 수 있는데, 본래 닉네임이 아닌 가상의 닉네임을 사용하여 채팅방에 들어갈 수 있다. 신입사원인 김크루는 카카오톡 오 programmers.co.kr 1. record_str에 각 record를 space bar로 parsing한 배열을 저장한다. 2. user 배열에는 id를 key값으로 가지고 name을 value 값으로 가지는 object를 저장한다. 3. new_condition에는 id와 condition("Enter"시 "들어왔습니다.", "Leave"시 "나갔습니다." 저장)을 순서대로 넣어준다. 4. "Enter"나 "Change"시 user 배열 변경. 5. 모든 record를 ..
문제 바로가기 코딩테스트 연습 - 외벽 점검 레스토랑을 운영하고 있는 스카피는 레스토랑 내부가 너무 낡아 친구들과 함께 직접 리모델링 하기로 했습니다. 레스토랑이 있는 곳은 스노우타운으로 매우 추운 지역이어서 내부 공사를 하는 programmers.co.kr 각 외벽 사이의 공간 길이를 empty 벡터에 넣는다. (이 벡터의 길이는 weak.size() +1 ) dist 벡터를 내림차순으로 sort 한다. 많은 공간을 탐색할 수 있는 친구부터 탐색하면 탐색횟수를 줄일 수 있다. dist의 순열을 구한다. -> 순서가 달라지면 다른 경우이기 때문에 각 순열(set)의 경우에 모든 외벽(tmp_empty)을 탐색할 수 있는 지 검사한다. 외벽은 원형으로 이루어져 있기 때문에 rotate 해주어야 한다. 현재..
문제 바로가기 코딩테스트 연습 - 기둥과 보 설치 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. 기둥과 보 배열을 만든다. ..
문제 바로가기 코딩테스트 연습 - 자물쇠와 열쇠 [[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의 성질을 이용하였다 ! -전체 코드-