[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 - lv01] 이상한 문자 만들기 (cpp / python)
·
Algorithm/Programmers
이상한 문자 만들기 코딩테스트 연습 - 이상한 문자 만들기 문자열 s는 한 개 이상의 단어로 구성되어 있습니다. 각 단어는 하나 이상의 공백문자로 구분되어 있습니다. 각 단어의 짝수번째 알파벳은 대문자로, 홀수번째 알파벳은 소문자로 바꾼 문자열을 programmers.co.kr 문제 설명 공백을 기준으로 문자열을 잘라 해당 문자열의 홀수 번째와 짝수 번째를 처리하는 문제. 스플릿으로 공백을 기준으로 문자열을 자르면될 것 같지만, 공백이 2개 이상 들어왔을 때 처리할 수가 없다. 따라서 직접 스플릿을 구현하여 푸는 문제이다. c++은 원래 구현을해야겠지만(split함수가 존재하지 않음) python같은 경우엔 split이 있어도 쓰지 못한다. 문제 풀이 소스코드 : C++ #include #include ..
[Programmers - lv01] 수박수박수박수박수박수(cpp / python)
·
Algorithm/Programmers
수박수박수박수박수박수 코딩테스트 연습 - 수박수박수박수박수박수? 길이가 n이고, 수박수박수박수....와 같은 패턴을 유지하는 문자열을 리턴하는 함수, solution을 완성하세요. 예를들어 n이 4이면 수박수박을 리턴하고 3이라면 수박수를 리턴하면 됩니다. 제한 조�� programmers.co.kr 문제 설명 간단한 문제. 문제 풀이 소스코드 : C++ #include #include using namespace std; string solution(int n) { string answer = ""; for(int i=0; i
[Programmers - lv02] 기능개발 (cpp / python)
·
Algorithm/Programmers
기능개발 코딩테스트 연습 - 기능개발 프로그래머스 팀에서는 기능 개선 작업을 수행 중입니다. 각 기능은 진도가 100%일 때 서비스에 반영할 수 있습니다. 또, 각 기능의 개발속도는 모두 다르기 때문에 뒤에 있는 기능이 앞에 있는 �� programmers.co.kr 문제 설명 처음에 '스택과 큐 모두 이용해서 풀어지겠다'라는 생각에 시간이 조금 걸렸다. 오랜만에 lv02문제를 풀어서 그런지.. 1시간 정도 걸린 것 같다. 앞 쪽의 작업이 끝나기 전에는 뒤 쪽작업들을 맨 앞의 작업보다 더 오래 걸리는 작업이 생기기 전까지 모두 대기 큐에 넣어서, 대기 큐에 있는 작업들을 처리하고, 또 다음 작업들을 처리하는 방식으로 문제를 해결하려고 했다. 그런데 문제를 잘 이해해보면 문제에서는 각 작업들이 '언제' 끝..
[Programmers - lv01] 2016년 (cpp / python)
·
Algorithm/Programmers
2016년 코딩테스트 연습 - 2016년 2016년 1월 1일은 금요일입니다. 2016년 a월 b일은 무슨 요일일까요? 두 수 a ,b를 입력받아 2016년 a월 b일이 무슨 요일인지 리턴하는 함수, solution을 완성하세요. 요일의 이름은 일요일부터 토요일까�� programmers.co.kr 문제 설명 주어진 a월 b까지의 일 수를 모두 계산하여 7로 나눈 나머지를 이용하여 탐색 문제 풀이 *소스코드 : C++ * #include #include #include using namespace std; string solution(int a, int b) { string answer = ""; vector day = {"FRI","SAT","SUN","MON","TUE","WED","THU"}; ve..
[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); ..
[C++/STL] STL이란?
·
C & C++/C++ STL
2019-09-03 updated 평소 알고리즘 문제를 풀면서 STL을 지양하면서 직접 자료구조를 만들어서 (예를들어 queue나 stack 같은..) 구조를 이해하며 문제에 적용시켜 푸는 것을 즐겼다. 하지만 우선순위 큐를 이용하거나 다익스트라 알고리즘이 필요한 문제들이 나오면 어떻게해야할지 막막해졌다. 그래서 STL을 공부해보기로 한다. STL 그렇다면 STL은 무엇일까? STL이란 Standard Template Library의 약자로 표준 라이브러리이다. 컨테이너(Container, 자료구조) Class/ 반복자/ 알고리즘간의 협력에 기반한 템플릿 라이브러리이다. STL없이 알고리즘을 작성할 때 내 입맛에 맞춰 작성하여 문제를 푸는 일이 생각보다 까다롭고 변수 타입에따라 여러가지 벽에 부딪히기도 ..
WONILLISM