kakao <Programmers> Lv2 DFS_단체사진 찍기 c++ 💡Summary data 원소는 다섯 글자로 구성된 문자열 첫 번째 글자와 세 번째 글자는 프렌즈들의 알파벳 앞글자 두 번째 글자는 항상 ~ 네 번째 글자는 {=, <, >}중 하나이고 프렌즈들 간 거리가 같음, 미만, 초과를 의미 다섯 번째 글자는 0이상 6이하의 정수 문자형이며 각 거리를 의미한다 💡Idea 먼저 8명의 프렌즈들이 한 줄로 서는 경우의 수를 생각한다 경우의 수는 8!이며 ... programmersDFSkakaoalgorithmDFS [프로그래머스] 신고 결과 받기 (C++, 카카오) 요 몇일간 면접, 인적성, 필기 등 각종 시험이 겹쳐서 블로그에 게시하지 못했다.. 좀 더 열심히 해봐야겠다! 이 문제는 map, set 자료구조를 이용해 풀었다. map을 쓴 이유는 key-value 형태여서 신고 횟수를 저장하기에 적당할 것 같아서 사용했고, set은 중복을 처리해주기 위해 사용했다. 문제 해결 방법은 다음과 같다. map<string, set>으로 선언해, 신고 받은자와... programmerskakaokakao 카카오 코딩테스트 | 프렌즈 4블록 4블록이 완성되어 터진 아이템은 그 자리의 글자를 숫자 0으로 바꾼다. 함수 중복은 크게 신경쓰지 않았는데 중복을 고려해서 set을 사용해도 좋았을 것 같다. temp 배열의 길이로 터뜨릴 수 있는 같은 아이템이 있는지 체크. 위에 temp 배열의 정보를 이용해 터진 아이템을 0으로 바꾸는 함수 아이템이 터진 자리에 다른 아이템이 떨어지는 것을 구현하기 편리하도록 행과 열을 바꾸는 함수 행과... JavaScriptkakaoalgorithmJavaScript [알고리즘 문제풀이] 프로그래머스 자물쇠와 열쇠 그래서 이 문제를 먼저 풀고 위클리 챌린지 3주차 문제를 풀어보려고 한다 ! 그래서 오늘 푼 문제는 프로그래머스에서 풀어볼 수 있는 2020 카카오 블라인드 채용 기출 이다. 열쇠는 회전과 이동이 가능하며 열쇠의 돌기 부분을 자물쇠의 홈 부분에 딱 맞게 채우면 자물쇠가 열리게 되는 구조입니다. 자물쇠 영역을 벗어난 부분에 있는 열쇠의 홈과 돌기는 자물쇠를 여는 데 영향을 주지 않지만, 자물쇠... psprogrammerskakaoJavaalgorithmJava [알고리즘 문제풀이] 프로그래머스 비밀지도 다행히 지도 암호를 해독할 방법을 적어놓은 메모도 함께 발견했다. 지도는 한 변의 길이가 n인 정사각형 배열 형태로, 각 칸은 "공백"(" ") 또는 "벽"("#") 두 종류로 이루어져 있다. 전체 지도는 두 장의 지도를 겹쳐서 얻을 수 있다. 각각 "지도 1"과 "지도 2"라고 하자. 지도 1 또는 지도 2 중 어느 하나라도 벽인 부분은 전체 지도에서도 벽이다. 지도 1과 지도 2에서 모두... psprogrammerskakaoJavaalgorithmJava [알고리즘 풀이 분석] 프로그래머스 합승 택시 요금 (2021 Kakao Blind Recruitment) 지점 간에 택시가 이동할 수 있는 경로를 간선이라 하며, 간선에 표시된 숫자는 두 지점 사이의 예상 택시요금을 나타냅니다. 지점의 개수 n, 출발지점을 나타내는 s, A의 도착지점을 나타내는 a, B의 도착지점을 나타내는 b, 지점 사이의 예상 택시요금을 나타내는 fares가 매개변수로 주어집니다. 이때, A, B 두 사람이 s에서 출발해서 각각의 도착 지점까지 택시를 타고 간다고 가정할 때... programmerskakaofloydWarshallalgorithmcppalgorithm [알고리즘 문제풀이] 프로그래머스 기둥과 보 설치 "죠르디"는 기둥과 보를 이용하여 벽면 구조물을 자동으로 세우는 로봇을 개발할 계획인데, 그에 앞서 로봇의 동작을 시뮬레이션 할 수 있는 프로그램을 만들고 있습니다. 프로그램은 2차원 가상 벽면에 기둥과 보를 이용한 구조물을 설치할 수 있는데, 기둥과 보는 길이가 1인 선분으로 표현되며 다음과 같은 규칙을 가지고 있습니다. (1, 0)에서 위쪽으로 기둥을 하나 설치 후, (1, 1)에서 오른... psprogrammerskakaoJavaalgorithmJava [프로그래머스](python) 다트 게임 - 2018 KAKAO BLIND RECRUITMENT 🧩 수도 코드 dartresult 원소 하나하나 판별하여 stacklist에 넣어준다. S,D,T 중 하나이면 stacklist에서 먼저 들어간 숫자를 빼낸 다음 계산 후 다시 stacklist에 넣는다. 🏁 내 풀이 10이 나오면 1,0 따로 계산하기 때문에 10을 A로 미리 바꾸어두었다. tmp로 stacklist 작성 bonus, option은 딕셔너리 값으로 지정해주었다. dartre... Lv1pythonstackprogrammerskakaoalgorithmLv1 Kakao - 추석 트래픽 장애 대비용 서버 증설 여부를 결정하기 위해 작년 추석 기간인 9월 15일 로그 데이터를 분석한 후 초당 최대 처리량을 계산해보기로 했다. 초당 최대 처리량은 요청의 응답 완료 여부에 관계없이 임의 시간부터 1초(=1,000밀리초)간 처리하는 요청의 최대 개수를 의미한다. solution 함수에 전달되는 lines 배열은 N(1 ≦ N ≦ 2,000)개의 로그 문자열로 되어 있으며, 각 로그... AlgorithmskakaoStringAlgorithms [알고리즘 풀이 분석] 프로그래머스 카카오프렌즈 컬러링북 (2017 카카오코드 예선) 지난 목요일부터 월요일까지 5일동안 자소서 + 코테 준비 + 카카오, 네웹 코테 + 백신접종 의 폭풍같은 5일을 보내고 오늘 오후까지 잘 놀고 잘 쉬었다..! 기본적인 문제였기 때문에 c++, swift 를 모두 이용해서 풀어보았다. 네웹 코테 당시 검색, IDE 모두 사용 불가했고 c++ 마저 옵션에 없었다.. 나는 결국 swift로 풀어야 했는데 이틀 전부터 급하게 swift 사용을 익혀... psBFSprogrammerskakaoalgorithmcppswiftBFS [프로그래머스](python) 실패율 - 2019 KAKAO BLIND RECRUITMENT 🧩 수도 코드 실패율을 딕셔너리로 넣어 value로 계산하고 key를 넣기 for i in stages: i가 다음으로 넘어갈 때마다 1/8, 3/7, 2/4 이런 식으로 i만큼 분모가 줄어드므로 조건에 넣기 🏁 내 코드 (percent_fail.items(), key = lambda x: (-x[1],x[0])) percent_fail.items() 리스트에서 percent_fail.ite... Lv1pythonprogrammerskakaoalgorithmLv1 카카오 코딩테스트 | 방금그곡 오늘 하루종일 붙잡고 있었던 문제.. 풀어내긴 했지만 진이 다 빠져서 설명 포기^^! 재생 시간을 잘못 구했다. 13:30 - 14:40 처럼 끝난 시각의 분이 시작 시각의 분보다 큰 경우만 생각했다. 13:50 - 14:00 처럼 끝난 시각의 분이 더 작은 경우도 고려해야 한다. 주어진 input을 의미 있는 자료구조로 만들기 위해 Map을 사용했다. 값을 한번에 뽑아오는 게 편해서 Map... JavaScriptkakaoalgorithmJavaScript 2019 카카오 개발자 겨울 인턴십 [크레인 인형뽑기 게임] 모든 인형은 1 x 1 크기의 격자 한 칸을 차지하며 격자의 가장 아래 칸부터 차곡차곡 쌓여 있습니다. 게임 사용자는 크레인을 좌우로 움직여서 멈춘 위치에서 가장 위에 있는 인형을 집어 올릴 수 있습니다. 집어 올린 인형은 바구니에 쌓이게 되는 데, 이때 바구니의 가장 아래 칸부터 인형이 순서대로 쌓이게 됩니다. 다음 그림은 [1번, 5번, 3번] 위치에서 순서대로 인형을 집어 올려 바구니에... Javaprogrammerskakaocoding testJava [알고리즘 풀이 분석] 프로그래머스 광고 삽입 (2021 Kakao Blind Recruitment) "죠르디"의 동영상 재생시간 길이 play_time, 공익광고의 재생시간 길이 adv_time, 시청자들이 해당 동영상을 재생했던 구간 정보 logs가 매개변수로 주어질 때, 시청자들의 누적 재생시간이 가장 많이 나오는 곳에 공익광고를 삽입하려고 합니다. 만약, 시청자들의 누적 재생시간이 가장 많은 곳이 여러 곳이라면, 그 중에서 가장 빠른 시작 시각을 return 하도록 합니다. play_... algorithmcppkakaoDPprogrammersDP [Programmers](python) 오픈 채팅방 _ 2019 KAKAO BLIND RECRUITMENT 카카오톡 오픈채팅방에서는 친구가 아닌 사람들과 대화를 할 수 있는데, 본래 닉네임이 아닌 가상의 닉네임을 사용하여 채팅방에 들어갈 수 있다. 채팅방에 누군가 들어오면 다음 메시지가 출력된다. "[닉네임]님이 들어왔습니다." "[닉네임]님이 나갔습니다." 채팅방에서 닉네임을 변경하는 방법은 다음과 같이 두 가지이다. 채팅방에서 닉네임을 변경한다. 닉네임을 변경할 때는 기존에 채팅방에 출력되어 ... kakaoalgorithmpythonprogrammersLv2Lv2 [알고리즘 문제풀이] 프로그래머스 신규아이디 추천 "네오"는 다음과 같이 7단계의 순차적인 처리 과정을 통해 신규 유저가 입력한 아이디가 카카오 아이디 규칙에 맞는 지 검사하고 규칙에 맞지 않은 경우 규칙에 맞는 새로운 아이디를 추천해 주려고 합니다. 신규 유저가 입력한 아이디가 new_id 라고 한다면, 예를 들어, new_id 값이 "...!@BaT#*..y.abcdefghijklm" 라면, 위 7단계를 거치고 나면 new_id는 아래와... StringpskakaoprogrammersJavaalgorithmJava 2019 카카오 신입 공채 1차: 2. 실패율 (Python) Difficulty: Level 1 Type: Array/Sorting collections 의 Counter 를 적절히 활용해 실패 확율을 찾으면 결과 값들을 쉽게 정렬할 수 있다... kakaokakao [알고리즘 문제풀이] 프로그래머스 실패율 역시 슈퍼 개발자라 대부분의 로직은 쉽게 구현했지만, 실패율을 구하는 부분에서 위기에 빠지고 말았다. 오렐리를 위해 실패율을 구하는 코드를 완성하라. 전체 스테이지의 개수 N, 게임을 이용하는 사용자가 현재 멈춰있는 스테이지의 번호가 담긴 배열 stages가 매개변수로 주어질 때, 실패율이 높은 스테이지부터 내림차순으로 스테이지의 번호가 담겨있는 배열을 return 하도록 solution 함... pskakaoprogrammersJavaalgorithmJava [ 프로그래머스 ] [1차] 캐시 2018 KAKAO BLIND RECRUITMENT 캐시 크기(cacheSize)와 도시이름 배열(cities)을 입력받는다. cities는 도시 이름으로 이뤄진 문자열 배열로, 최대 도시 수는 100,000개이다. 각 도시 이름은 공백, 숫자, 특수문자 등이 없는 영문자로 구성되며, 대소문자 구분을 하지 않는다. 도시 이름은 최대 20자로 이루어져 있다. cache hit일 경우 실행시간은 1이다. cache miss일 경우 실행시간은 5이... kakaoprogrammersCachecppDequeCache
<Programmers> Lv2 DFS_단체사진 찍기 c++ 💡Summary data 원소는 다섯 글자로 구성된 문자열 첫 번째 글자와 세 번째 글자는 프렌즈들의 알파벳 앞글자 두 번째 글자는 항상 ~ 네 번째 글자는 {=, <, >}중 하나이고 프렌즈들 간 거리가 같음, 미만, 초과를 의미 다섯 번째 글자는 0이상 6이하의 정수 문자형이며 각 거리를 의미한다 💡Idea 먼저 8명의 프렌즈들이 한 줄로 서는 경우의 수를 생각한다 경우의 수는 8!이며 ... programmersDFSkakaoalgorithmDFS [프로그래머스] 신고 결과 받기 (C++, 카카오) 요 몇일간 면접, 인적성, 필기 등 각종 시험이 겹쳐서 블로그에 게시하지 못했다.. 좀 더 열심히 해봐야겠다! 이 문제는 map, set 자료구조를 이용해 풀었다. map을 쓴 이유는 key-value 형태여서 신고 횟수를 저장하기에 적당할 것 같아서 사용했고, set은 중복을 처리해주기 위해 사용했다. 문제 해결 방법은 다음과 같다. map<string, set>으로 선언해, 신고 받은자와... programmerskakaokakao 카카오 코딩테스트 | 프렌즈 4블록 4블록이 완성되어 터진 아이템은 그 자리의 글자를 숫자 0으로 바꾼다. 함수 중복은 크게 신경쓰지 않았는데 중복을 고려해서 set을 사용해도 좋았을 것 같다. temp 배열의 길이로 터뜨릴 수 있는 같은 아이템이 있는지 체크. 위에 temp 배열의 정보를 이용해 터진 아이템을 0으로 바꾸는 함수 아이템이 터진 자리에 다른 아이템이 떨어지는 것을 구현하기 편리하도록 행과 열을 바꾸는 함수 행과... JavaScriptkakaoalgorithmJavaScript [알고리즘 문제풀이] 프로그래머스 자물쇠와 열쇠 그래서 이 문제를 먼저 풀고 위클리 챌린지 3주차 문제를 풀어보려고 한다 ! 그래서 오늘 푼 문제는 프로그래머스에서 풀어볼 수 있는 2020 카카오 블라인드 채용 기출 이다. 열쇠는 회전과 이동이 가능하며 열쇠의 돌기 부분을 자물쇠의 홈 부분에 딱 맞게 채우면 자물쇠가 열리게 되는 구조입니다. 자물쇠 영역을 벗어난 부분에 있는 열쇠의 홈과 돌기는 자물쇠를 여는 데 영향을 주지 않지만, 자물쇠... psprogrammerskakaoJavaalgorithmJava [알고리즘 문제풀이] 프로그래머스 비밀지도 다행히 지도 암호를 해독할 방법을 적어놓은 메모도 함께 발견했다. 지도는 한 변의 길이가 n인 정사각형 배열 형태로, 각 칸은 "공백"(" ") 또는 "벽"("#") 두 종류로 이루어져 있다. 전체 지도는 두 장의 지도를 겹쳐서 얻을 수 있다. 각각 "지도 1"과 "지도 2"라고 하자. 지도 1 또는 지도 2 중 어느 하나라도 벽인 부분은 전체 지도에서도 벽이다. 지도 1과 지도 2에서 모두... psprogrammerskakaoJavaalgorithmJava [알고리즘 풀이 분석] 프로그래머스 합승 택시 요금 (2021 Kakao Blind Recruitment) 지점 간에 택시가 이동할 수 있는 경로를 간선이라 하며, 간선에 표시된 숫자는 두 지점 사이의 예상 택시요금을 나타냅니다. 지점의 개수 n, 출발지점을 나타내는 s, A의 도착지점을 나타내는 a, B의 도착지점을 나타내는 b, 지점 사이의 예상 택시요금을 나타내는 fares가 매개변수로 주어집니다. 이때, A, B 두 사람이 s에서 출발해서 각각의 도착 지점까지 택시를 타고 간다고 가정할 때... programmerskakaofloydWarshallalgorithmcppalgorithm [알고리즘 문제풀이] 프로그래머스 기둥과 보 설치 "죠르디"는 기둥과 보를 이용하여 벽면 구조물을 자동으로 세우는 로봇을 개발할 계획인데, 그에 앞서 로봇의 동작을 시뮬레이션 할 수 있는 프로그램을 만들고 있습니다. 프로그램은 2차원 가상 벽면에 기둥과 보를 이용한 구조물을 설치할 수 있는데, 기둥과 보는 길이가 1인 선분으로 표현되며 다음과 같은 규칙을 가지고 있습니다. (1, 0)에서 위쪽으로 기둥을 하나 설치 후, (1, 1)에서 오른... psprogrammerskakaoJavaalgorithmJava [프로그래머스](python) 다트 게임 - 2018 KAKAO BLIND RECRUITMENT 🧩 수도 코드 dartresult 원소 하나하나 판별하여 stacklist에 넣어준다. S,D,T 중 하나이면 stacklist에서 먼저 들어간 숫자를 빼낸 다음 계산 후 다시 stacklist에 넣는다. 🏁 내 풀이 10이 나오면 1,0 따로 계산하기 때문에 10을 A로 미리 바꾸어두었다. tmp로 stacklist 작성 bonus, option은 딕셔너리 값으로 지정해주었다. dartre... Lv1pythonstackprogrammerskakaoalgorithmLv1 Kakao - 추석 트래픽 장애 대비용 서버 증설 여부를 결정하기 위해 작년 추석 기간인 9월 15일 로그 데이터를 분석한 후 초당 최대 처리량을 계산해보기로 했다. 초당 최대 처리량은 요청의 응답 완료 여부에 관계없이 임의 시간부터 1초(=1,000밀리초)간 처리하는 요청의 최대 개수를 의미한다. solution 함수에 전달되는 lines 배열은 N(1 ≦ N ≦ 2,000)개의 로그 문자열로 되어 있으며, 각 로그... AlgorithmskakaoStringAlgorithms [알고리즘 풀이 분석] 프로그래머스 카카오프렌즈 컬러링북 (2017 카카오코드 예선) 지난 목요일부터 월요일까지 5일동안 자소서 + 코테 준비 + 카카오, 네웹 코테 + 백신접종 의 폭풍같은 5일을 보내고 오늘 오후까지 잘 놀고 잘 쉬었다..! 기본적인 문제였기 때문에 c++, swift 를 모두 이용해서 풀어보았다. 네웹 코테 당시 검색, IDE 모두 사용 불가했고 c++ 마저 옵션에 없었다.. 나는 결국 swift로 풀어야 했는데 이틀 전부터 급하게 swift 사용을 익혀... psBFSprogrammerskakaoalgorithmcppswiftBFS [프로그래머스](python) 실패율 - 2019 KAKAO BLIND RECRUITMENT 🧩 수도 코드 실패율을 딕셔너리로 넣어 value로 계산하고 key를 넣기 for i in stages: i가 다음으로 넘어갈 때마다 1/8, 3/7, 2/4 이런 식으로 i만큼 분모가 줄어드므로 조건에 넣기 🏁 내 코드 (percent_fail.items(), key = lambda x: (-x[1],x[0])) percent_fail.items() 리스트에서 percent_fail.ite... Lv1pythonprogrammerskakaoalgorithmLv1 카카오 코딩테스트 | 방금그곡 오늘 하루종일 붙잡고 있었던 문제.. 풀어내긴 했지만 진이 다 빠져서 설명 포기^^! 재생 시간을 잘못 구했다. 13:30 - 14:40 처럼 끝난 시각의 분이 시작 시각의 분보다 큰 경우만 생각했다. 13:50 - 14:00 처럼 끝난 시각의 분이 더 작은 경우도 고려해야 한다. 주어진 input을 의미 있는 자료구조로 만들기 위해 Map을 사용했다. 값을 한번에 뽑아오는 게 편해서 Map... JavaScriptkakaoalgorithmJavaScript 2019 카카오 개발자 겨울 인턴십 [크레인 인형뽑기 게임] 모든 인형은 1 x 1 크기의 격자 한 칸을 차지하며 격자의 가장 아래 칸부터 차곡차곡 쌓여 있습니다. 게임 사용자는 크레인을 좌우로 움직여서 멈춘 위치에서 가장 위에 있는 인형을 집어 올릴 수 있습니다. 집어 올린 인형은 바구니에 쌓이게 되는 데, 이때 바구니의 가장 아래 칸부터 인형이 순서대로 쌓이게 됩니다. 다음 그림은 [1번, 5번, 3번] 위치에서 순서대로 인형을 집어 올려 바구니에... Javaprogrammerskakaocoding testJava [알고리즘 풀이 분석] 프로그래머스 광고 삽입 (2021 Kakao Blind Recruitment) "죠르디"의 동영상 재생시간 길이 play_time, 공익광고의 재생시간 길이 adv_time, 시청자들이 해당 동영상을 재생했던 구간 정보 logs가 매개변수로 주어질 때, 시청자들의 누적 재생시간이 가장 많이 나오는 곳에 공익광고를 삽입하려고 합니다. 만약, 시청자들의 누적 재생시간이 가장 많은 곳이 여러 곳이라면, 그 중에서 가장 빠른 시작 시각을 return 하도록 합니다. play_... algorithmcppkakaoDPprogrammersDP [Programmers](python) 오픈 채팅방 _ 2019 KAKAO BLIND RECRUITMENT 카카오톡 오픈채팅방에서는 친구가 아닌 사람들과 대화를 할 수 있는데, 본래 닉네임이 아닌 가상의 닉네임을 사용하여 채팅방에 들어갈 수 있다. 채팅방에 누군가 들어오면 다음 메시지가 출력된다. "[닉네임]님이 들어왔습니다." "[닉네임]님이 나갔습니다." 채팅방에서 닉네임을 변경하는 방법은 다음과 같이 두 가지이다. 채팅방에서 닉네임을 변경한다. 닉네임을 변경할 때는 기존에 채팅방에 출력되어 ... kakaoalgorithmpythonprogrammersLv2Lv2 [알고리즘 문제풀이] 프로그래머스 신규아이디 추천 "네오"는 다음과 같이 7단계의 순차적인 처리 과정을 통해 신규 유저가 입력한 아이디가 카카오 아이디 규칙에 맞는 지 검사하고 규칙에 맞지 않은 경우 규칙에 맞는 새로운 아이디를 추천해 주려고 합니다. 신규 유저가 입력한 아이디가 new_id 라고 한다면, 예를 들어, new_id 값이 "...!@BaT#*..y.abcdefghijklm" 라면, 위 7단계를 거치고 나면 new_id는 아래와... StringpskakaoprogrammersJavaalgorithmJava 2019 카카오 신입 공채 1차: 2. 실패율 (Python) Difficulty: Level 1 Type: Array/Sorting collections 의 Counter 를 적절히 활용해 실패 확율을 찾으면 결과 값들을 쉽게 정렬할 수 있다... kakaokakao [알고리즘 문제풀이] 프로그래머스 실패율 역시 슈퍼 개발자라 대부분의 로직은 쉽게 구현했지만, 실패율을 구하는 부분에서 위기에 빠지고 말았다. 오렐리를 위해 실패율을 구하는 코드를 완성하라. 전체 스테이지의 개수 N, 게임을 이용하는 사용자가 현재 멈춰있는 스테이지의 번호가 담긴 배열 stages가 매개변수로 주어질 때, 실패율이 높은 스테이지부터 내림차순으로 스테이지의 번호가 담겨있는 배열을 return 하도록 solution 함... pskakaoprogrammersJavaalgorithmJava [ 프로그래머스 ] [1차] 캐시 2018 KAKAO BLIND RECRUITMENT 캐시 크기(cacheSize)와 도시이름 배열(cities)을 입력받는다. cities는 도시 이름으로 이뤄진 문자열 배열로, 최대 도시 수는 100,000개이다. 각 도시 이름은 공백, 숫자, 특수문자 등이 없는 영문자로 구성되며, 대소문자 구분을 하지 않는다. 도시 이름은 최대 20자로 이루어져 있다. cache hit일 경우 실행시간은 1이다. cache miss일 경우 실행시간은 5이... kakaoprogrammersCachecppDequeCache