[Programmers - lv01] K번째 수 (cpp / python)
·
Algorithm/Programmers
K번째 수 코딩테스트 연습 - K번째수 [1, 5, 2, 6, 3, 7, 4] [[2, 5, 3], [4, 4, 1], [1, 7, 3]] [5, 6, 3] programmers.co.kr 문제 설명 주어진 commands에 따라 array를 자르고 자른 배열의 k번째 숫자를 찾는 문제 문제 풀이 소스코드 : C++ vector의 assign()함수를 이용하여 복사하여 찾아내는 방법 ( assign은 범위를 ( , ] 로 받는다 - >개구간, 폐구간) #include #include #include #include using namespace std; vector solution(vector array, vector commands) { vector answer; for(int i = 0; i < com..
[Programmers - lv01] 체육복 (cpp / python)
·
Algorithm/Programmers
체육복 코딩테스트 연습 - 체육복 점심시간에 도둑이 들어, 일부 학생이 체육복을 도난당했습니다. 다행히 여벌 체육복이 있는 학생이 이들에게 체육복을 빌려주려 합니다. 학생들의 번호는 체격 순으로 매겨져 있어, 바로 앞번� programmers.co.kr 문제 설명 모든 학생들에게 체육복을 1개씩 주고, 잃어버린 사람은 -1 여벌이 있는 사람은 +1 하여 체육복을 가지고 있지않은 학생을 기준으로 좌, 우를 탐색하며 답을 찾아낸다. 문제 풀이 소스코드 : C++ #include #include #include using namespace std; int solution(int n, vector lost, vector reserve) { int answer = 0; vector students(n+1,1); ..
[Programmers - lv01] 모의고사 (cpp / python)
·
Algorithm/Programmers
모의고사 문제 설명 간단한 완전탐색 문제 문제 풀이 소스코드 : C++ #include #include #include using namespace std; vector solution(vector answers) { vector answer; vector player = {{1,2,3,4,5},{2,1,2,3,2,4,2,5},{3,3,1,1,2,2,4,4,5,5}}; vector cnt = {0,0,0}; for(int i=0; i
[Programmers - lv01] 완주하지 못한 선수 (cpp / python)
·
Algorithm/Programmers
완주하지 못한 선수 코딩테스트 연습 - 완주하지 못한 선수 수많은 마라톤 선수들이 마라톤에 참여하였습니다. 단 한 명의 선수를 제외하고는 모든 선수가 마라톤을 완주하였습니다. 마라톤에 참여한 선수들의 이름이 담긴 배열 participant와 완주한 선수�� programmers.co.kr 문제 설명 participant에 있는 참가자들 중 completion에 없어 완주하지 못한 선수를 찾는 문제 문제 카테고리에 해쉬 라고 명시되어있지만 STL 도 익숙해질겸 의 find함수를 이용해서 풀어보았다. 결과는 역시 시간초과 해쉬구조가 왜 빠른지를 보여주는 문제였다. 문제 풀이 소스코드 : C++ 틀린 코드 find함수를 이용한 풀이. #include #include #include #include using ..
[2020 kakao blind recruitment] lv3 기둥과 보 설치(cpp/python)
·
Algorithm/Programmers
기둥과 보 설치 문제 설명 구현 문제이다. 머릿속으로 구현은 나름 빠르게 됐는데 코드로 옮기면서 조건을 한 두개씩 빼먹어서 시간이 오래걸렸다. 시험이 아닌데도 3시간씩 걸려서 푸는데.. 언제 이런문제를 1시간 안에 풀 수 있을까... 기둥과 보가 설치될 수 있는 조건을 명확하게 해결하여야한다. 설치할 때는 해당 위치에 기둥과 보가 설치될 수 있는지 확인하고, 삭제할 때는 삭제를 시킨 후 모든 구역에 대해 기둥과 보가 설치 할 수 있는지 없는지 확인한다. 문제 풀이 소스코드 : C++ 해당 좌표에 기둥과 보가 설치 되어있는지 확인하는 구조체 POS Map[101][101]을 선언한다. 우선 해당 좌표에 기둥과 보를 설치할 수 있는지 확인하는 두 함수 chk_pillar와 chk_beam을 구현한다. chk..
[Programmers - lv02] 124 나라의 숫자 (cpp / python)
·
Algorithm/Programmers
124 나라의 숫자 코딩테스트 연습 - 124 나라의 숫자 124 나라가 있습니다. 124 나라에서는 10진법이 아닌 다음과 같은 자신들만의 규칙으로 수를 표현합니다. 124 나라에는 자연수만 존재합니다. 124 나라에는 모든 수를 표현할 때 1, 2, 4만 사용합니다. programmers.co.kr 문제 설명 10진법을 3진법으로 바꾸는 방식으로 풀면된다. 3진법에는 0,1,2가 쓰인다면 이 문제는 1,2,4가 쓰이도록 문제를 해결한다. 문제 풀이 소스코드 : C++ 재귀를 이용한 풀이 #include #include #include using namespace std; char num[3] = {'1','2','4'}; string solution(int n) { if(!n--)return ""; ..
[Summer/Winter coding -2018] 스킬트리
·
Algorithm/Programmers
스킬트리 코딩테스트 연습 - 스킬트리 programmers.co.kr 문제 설명 정해진 스킬 순서를 올바르게 배웠는지 체크하는 문제. 스킬을 의미하는 알파벳 사용 여부와 skill의 순서로 skill_trees들을 체크한다. 문제 풀이 소스코드 : C++ skill에 있는 스킬들을 true표시 해둔다. skill_trees에 담긴 스킬들을 탐색한다. 해당 스킬이 skill에 포함 된 문자라라면 순서가 맞는지 체크한다. 순서를 의미하는 index, skill[index] == s[j]이면 다음 스킬을 체크한다. 그렇지 않으면 순서가 맞지 않으므로 break 위과정을 반복하여 스킬의 모든 길이를 탐색했으면 예외가 없으므로 answer++해준다. 위 과정을 반복한다. #include #include #incl..
[Programmers - lv02] 다리를 지나는 트럭 (cpp / python)
·
Algorithm/Programmers
다리를 지나는 트럭 코딩테스트 연습 - 다리를 지나는 트럭 트럭 여러 대가 강을 가로지르는 일 차선 다리를 정해진 순으로 건너려 합니다. 모든 트럭이 다리를 건너려면 최소 몇 초가 걸리는지 알아내야 합니다. 트럭은 1초에 1만큼 움직이며, 다리 길이�� programmers.co.kr 문제 설명 다리를 queue라고 생각하고 조건을 적절히 이용하여 푸는 문제다. 어렵지는 않지만 생각해야할 조건이 많아서 좀 까다로웠다. 자세한 풀이는 c++코드에 주석처리 해놓았다. 파이썬 코드도 로직자체는 같지만 for문에서 인덱스값을 마음대로 조절할 수 없어서 while문을 이용하였다. 문제 풀이 소스코드 : C++ #include #include #include #include #define PII pair using..
WONILLISM
'Algorithm' 카테고리의 글 목록 (5 Page)