일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
- Gold 5
- SWEA
- 2020 KAKAO BLIND
- 월간 코드 챌린지
- 부스트코스
- 시뮬레이션
- Gold 4
- 스택/큐
- BFS
- c++
- Level 2
- Level 3
- 백트래킹
- Level 4
- 그리디
- pass
- 백준
- 2020 카카오 인턴십
- 코드리뷰
- 삼성 SW 역량 테스트
- 프로그래머스
- Web
- level 1
- 브루트포스
- DFS
- 코드 리뷰
- 2019 KAKAO BLIND
- next_permutation
- 구현
- DP
- Today
- Total
목록알고리즘 (82)
Min:D's Devlog
문제 프로그래머스 월간 코드 챌린지 시즌 1 - 두 개 뽑아서 더하기 (Level 1) 코딩테스트 연습 - 두 개 뽑아서 더하기 programmers.co.kr 문제 풀이 접근 방식 이 문제는 프로그래머스에서 9월 10일에 진행된 월간 코드 챌린지 시즌 1의 1번 문제이다. 주어진 숫자 배열에서 두 수를 뽑아 더해서 만들 수 있는 모든 수를 오름차순으로 리턴해야 하는 문제였다. 2중 for문으로 두 수를 더하고 중복을 제거하여 정렬하면 되는 간단한 문제였다. 그래서 unordered_map을 사용하여 중복된 값을 제거해주었고, sort를 사용해서 오름차순으로 정렬하여 답을 구하였다. 이 외에도 set을 사용하여 중복 제거와 정렬을 수행하거나, unique와 erase, sort를 사용하여 중복 제거와 정..
문제 프로그래머스 2020 KAKAO BLIND RECRUITMENT - 기둥과 보 설치 (Level 3) 코딩테스트 연습 - 기둥과 보 설치 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 문제 풀이 접근 방식 이 문제는 2020 카카오 블라인드 공채 1차 코딩테스트..
문제 프로그래머스 2020 KAKAO BLIND RECRUITMENT - 자물쇠와 열쇠 (Level 3) 코딩테스트 연습 - 자물쇠와 열쇠 [[0, 0, 0], [1, 0, 0], [0, 1, 1]] [[1, 1, 1], [1, 1, 0], [1, 0, 1]] true programmers.co.kr 문제 풀이 접근 방식 이 문제는 2020 카카오 블라인드 공채 1차 코딩테스트 3번 문제로, 주어진 열쇠로 자물쇠를 열 수 있는지를 판단하는 문제였다. 열쇠 영역의 일부분이 자물쇠 영역을 벗어나는 것이 가능하다. 그렇기 때문에 자물쇠 영역을 (M - 1) × 2 + N의 크기로 만들고, (M-1, M-1)에서부터 자물쇠의 값을 복사하여 열쇠를 가능한 모든 방법으로 맞춰볼 수 있도록 하였다. (M은 열쇠 영역..
문제 프로그래머스 2020 카카오 인턴십 - 키패드 누르기 (Level 1) 코딩테스트 연습 - 키패드 누르기 [1, 3, 4, 5, 8, 2, 1, 4, 5, 9, 5] "right" "LRLLLRLLRRL" [7, 0, 8, 2, 8, 3, 1, 5, 7, 6, 2] "left" "LRLLRRLLLRR" [1, 2, 3, 4, 5, 6, 7, 8, 9, 0] "right" "LLRLLRLLRL" programmers.co.kr 문제 풀이 접근 방식 각 번호를 누른 손이 왼손인지 오른손인지 판단하는 문제이다. 이 문제는 주어진대로 단순 구현만 하면 되는 간단한 문제였다. 우선, 처음 시작이 *과 #에서 시작하기 때문에 처음 시작은 각각 10, 12로 설정해주었다. (*은 10, 0은 11, #은 12로..
문제 프로그래머스 2019 KAKAO BLIND RECRUITMENT - 무지의 먹방 라이브 (Level 4) 코딩테스트 연습 - 무지의 먹방 라이브 programmers.co.kr 문제 풀이 접근 방식 이 문제는 2019 카카오 블라인드 채용 1차 코딩테스트 4번 문제로, K초에 먹어야하는 음식의 번호를 구하는 문제였다. 이 문제는 효율성 테스트가 있는 문제여서 시간 복잡도를 고려하여 문제를 풀어야했다. 효율성 테스트의 제한 사항을 보면 food_times의 원소가 100,000,000 이하이기 때문에, 1초씩 증가시키며 확인하는 시뮬레이션 방법을 쓰면 통과할 수가 없다. 우선, 각 음식은 필요 시간만큼 음식을 섭취하면 다 먹은 것으로 취급한다. 그래서 필요 시간이 작은 음식들이 먼저 없어지기 때문에,..
문제 프로그래머스 KAKAO BLIND RECRUITMENT - 후보키 (Level 2) 코딩테스트 연습 - 후보키 [["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 문제 풀이 접근 방식 이 문제는 2019 카카오 블라인드 채용 1차 코딩테스트 3번 문제로, 주어진 릴레이션의 후보키의 개수를 구하는 문제였다. 이 문제의 정답률은 약 16%로, 지원자들이 다소 어려움을 겪었던 문제라고 한다. 후보키가 되기 위해서는 유..
문제 프로그래머스 2019 KAKAO BLIND RECRUITMENT - 실패율 (Level 1) 코딩테스트 연습 - 실패율 실패율 슈퍼 게임 개발자 오렐리는 큰 고민에 빠졌다. 그녀가 만든 프랜즈 오천성이 대성공을 거뒀지만, 요즘 신규 사용자의 수가 급감한 것이다. 원인은 신규 사용자와 기존 사용자 사이에 스�� programmers.co.kr 문제 풀이 접근 방식 이 문제는 카카오 블라인드 공채 1차 코딩테스트 2번 문제로, 게임 이용자들이 현재 멈춰 있는 스테이지 번호를 통해 실패율을 구하는 문제였다. 우선, 주어진 스테이지 번호를 통해 각 스테이지에 머물러 있는 이용자들의 수를 구해 cnt 벡터에 저장해주었다. 그리고 스테이지 번호와 실패율을 저장할 result 벡터을 만들어주고, cnt 벡터를 ..
문제 프로그래머스 2019 KAKAO BLIND RECRUITMENT - 오픈채팅방 (Level 2) 코딩테스트 연습 - 오픈채팅방 오픈채팅방 카카오톡 오픈채팅방에서는 친구가 아닌 사람들과 대화를 할 수 있는데, 본래 닉네임이 아닌 가상의 닉네임을 사용하여 채팅방에 들어갈 수 있다. 신입사원인 김크루는 카카오톡 오 programmers.co.kr 문제 풀이 접근 방식 이 문제는 2019 카카오 블라인드 채용 1차 코딩테스트 1번 문제로, 주어진 채팅방 기록을 통해 최종적으로 보여지는 메시지를 구하는 문제였다. 이 문제는 map을 이용하면 간단하게 해결할 수 있었다. 우선, key 값에는 ID, value에는 닉네임을 저장할 map을 만들어주었다. 그 후, record 문자열을 옵션, ID, 닉네임으로 파..
문제 프로그래머스 2020 KAKAO BLIND RECRUITMENT - 괄호 변환 (Level 2) 코딩테스트 연습 - 괄호 변환 카카오에 신입 개발자로 입사한 콘은 선배 개발자로부터 개발역량 강화를 위해 다른 개발자가 작성한 소스 코드를 분석하여 문제점을 발견하고 수정하라는 업무 과제를 받았습니다. 소스를 컴� programmers.co.kr 문제 풀이 접근 방식 이 문제는 문자열을 주어진 알고리즘을 수행하여 올바른 괄호 문자열로 변환하는 문제로, 2020 카카오 블라인드 채용 1차 코딩테스트 2번 문제이다. 이 문제는 아래의 사진과 같이 주어진 알고리즘을 그대로 구현하면 되는 문제였다. 재귀적으로 구현해야해서 이해가 쉽지는 않았으나, 주어진대로만 수행하면 문제를 해결할 수 있었다. 우선 바꿔야할 문..
문제 프로그래머스 2020 KAKAO BLIND RECRUITMENT - 문자열 압축 (Level 2) 코딩테스트 연습 - 문자열 압축 데이터 처리 전문가가 되고 싶은 어피치는 문자열을 압축하는 방법에 대해 공부를 하고 있습니다. 최근에 대량의 데이터 처리를 위한 간단한 비손실 압축 방법에 대해 공부를 하고 있는데, 문자 programmers.co.kr 문제 풀이 접근 방식 이 문제는 2020 카카오 블라인드 공채 1차 코딩테스트 1번 문제이다. 압축하여 표현한 문자열 중 가장 짧은 것의 길이를 구하는 문제였고, string 헤더 파일의 substr을 활용하여 문제를 해결하였다. 우선, 최대 가능한 반복 단위의 길이는 주어진 문자열의 길이의 1/2이다. 그래서 1개 단위부터 (문자열의 길이 / 2) 개 ..