[Programmers - lv01] 3진법 뒤집기(Python)
·
Algorithm/Programmers
programmers.co.kr/learn/courses/30/lessons/68935 코딩테스트 연습 - 3진법 뒤집기 자연수 n이 매개변수로 주어집니다. n을 3진법 상에서 앞뒤로 뒤집은 후, 이를 다시 10진법으로 표현한 수를 return 하도록 solution 함수를 완성해주세요. 제한사항 n은 1 이상 100,000,000 이하인 자연수 programmers.co.kr 문제 설명 주어지는 자연수 n을 3진법으로 바꾸고 그 3진법을 앞뒤로 뒤집은 후 이를 다시 10진법으로 표현한 수를 구하는 문제. 문제 풀이 3진법으로 바꾼 수를 담는 tmp를 ""로 초기화한다. 주어진 자연수 n을 3으로 나눈 나머지를 문자열로 변환하여 tmp의 뒤에 붙인다. n을 3으로 나눈 몫을 n에 다시 담는다. n이 0이..
[Programmers - lv04] 가사 검색 (C++/Python)
·
Algorithm/Programmers
가사 검색 코딩테스트 연습 - 가사 검색 programmers.co.kr 문제 설명 주어지는 words의 단어들을 quries로 찾아내는 문제. quries에는 '?'라는 와일드 카드가 존재하고 ?는 모든 문자에 해당한다. 입출력 예 문제를 보자마자 Trie로 풀어야겠다는 생각에 예전 기억을 떠올리며 Trie 자료 구조를 이용하여 문제를 풀었지만, 효율성 테스트에서 막혔다. 가사검색 풀었던 친구에게 물어보니 reverse trie를 만들어서 해결하라는 말을 듣고, 문제를 통과했다. 문제 풀이 소스코드 : C++ Trie 를 이용한 풀이 #include #include #include #include using namespace std; int cnt; class Trie{ public: Trie *chi..
[Programmers - lv02] 더 맵게 (cpp / python)
·
Algorithm/Programmers
더 맵게 코딩테스트 연습 - 더 맵게 매운 것을 좋아하는 Leo는 모든 음식의 스코빌 지수를 K 이상으로 만들고 싶습니다. 모든 음식의 스코빌 지수를 K 이상으로 만들기 위해 Leo는 스코빌 지수가 가장 낮은 두 개의 음식을 아래와 같�� programmers.co.kr 문제 설명 우선순위 큐를 이용하여 해결하는 문제. 섞은 음식의 스코빌 지수 = 가장 맵지 않은 음식의 스코빌 지수 + (두 번째로 맵지 않은 음식의 스코빌 지수 * 2) 이 값을 우선순위 큐에 갱신 해주며 문제의 조건을 해결하면 된다. 문제 풀이 소스코드 : C++ #include #include #include #include using namespace std; int solution(vector scoville, int K) { i..
[Programmers - lv02] 기능개발 (cpp / python)
·
Algorithm/Programmers
기능개발 코딩테스트 연습 - 기능개발 프로그래머스 팀에서는 기능 개선 작업을 수행 중입니다. 각 기능은 진도가 100%일 때 서비스에 반영할 수 있습니다. 또, 각 기능의 개발속도는 모두 다르기 때문에 뒤에 있는 기능이 앞에 있는 �� programmers.co.kr 문제 설명 처음에 '스택과 큐 모두 이용해서 풀어지겠다'라는 생각에 시간이 조금 걸렸다. 오랜만에 lv02문제를 풀어서 그런지.. 1시간 정도 걸린 것 같다. 앞 쪽의 작업이 끝나기 전에는 뒤 쪽작업들을 맨 앞의 작업보다 더 오래 걸리는 작업이 생기기 전까지 모두 대기 큐에 넣어서, 대기 큐에 있는 작업들을 처리하고, 또 다음 작업들을 처리하는 방식으로 문제를 해결하려고 했다. 그런데 문제를 잘 이해해보면 문제에서는 각 작업들이 '언제' 끝..
[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 - 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..
WONILLISM
'코딩테스트' 태그의 글 목록