본문 바로가기

알고리즘/프로그래머스28

[ 프로그래머스 / 문자열 ] 후보키 (KaKao) 1. 문제 코딩테스트 연습 - 후보키 [["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 2. 소스코드 - 굉~장히 직관적으로 짰다. 대충 효율성이 좋지 않다라는 뜻. - 문제의 크기가 매우 작아서, 가지치기를 하지않고 다 구한 뒤에 후보키를 추렸다. - 1) 경우의 수를 dfs를 이용, 구한다. - 2) map을 이용해서, 해당 경우의 수가 후보키가 될 수 있는지 판단. 후보키라면 저장. - 3) 후보키들끼리 포함관.. 2020. 7. 2.
[ 프로그래머스 / 문자열 ] 뉴스 클러스터링 (KaKao) 1. 문제 코딩테스트 연습 - [1차] 뉴스 클러스터링 뉴스 클러스터링 여러 언론사에서 쏟아지는 뉴스, 특히 속보성 뉴스를 보면 비슷비슷한 제목의 기사가 많아 정작 필요한 기사를 찾기가 어렵다. Daum 뉴스의 개발 업무를 맡게 된 신입사원 튜브�� programmers.co.kr 2. 소스코드 - unordered_map을 이용해서 직관적으로 구현했다. 공식 해설에선 이 방법을 사용하지 않더라. - 문자열을 쪼개서 각각 map에 저장한다. 중복되는 문자열이 발생할때마다 value값을 ++해서 몇 개인지 파악. - 두 맵을 순회하면서 교집합 크기와, 총 합집합 크기를 카운트한다. - 정말 간단한데, 합집합 크기를 계속 잘못 구해서 시간이 오래걸렸다. 소스코드 #include #include #includ.. 2020. 7. 2.
[ 프로그래머스 / 구현 ] 캐시 (KaKao) 1. 문제 코딩테스트 연습 - [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 2. 소스코드 - vector와 struct를 이용했다. - struct에는 사용된 시간, 도시이름을 저장. - 캐시가 비어 있으면, 현재 시간과 도시이름을 push_back하.. 2020. 7. 1.
[ 프로그래머스 / Map ] 영어 끝말잇기 1. 문제 코딩테스트 연습 - 영어 끝말잇기 3 [tank, kick, know, wheel, land, dream, mother, robot, tank] [3,3] 5 [hello, observe, effect, take, either, recognize, encourage, ensure, establish, hang, gather, refer, reference, estimate, executive] [0,0] programmers.co.kr 2. 소스코드 - unordered_map을 사용해서 단어의 중복을 체크. - 단어가 중복되거나, 끝말잇기가 되지 않는 경우, 틀린 위치에서 정답을 갱신 후 리턴. - 틀린 위치를 기준으로 몇 번째 시행인지, 몇 번째 사람인지 계산한다. 소스코드 #include.. 2020. 7. 1.