전체 글(110)
-
[프로그래머스/C++] ㅡ LV1 - 문자열 내림차순으로 배치하기
문제 programmers.co.kr/learn/courses/30/lessons/12917 코딩테스트 연습 - 문자열 내림차순으로 배치하기 문자열 s에 나타나는 문자를 큰것부터 작은 순으로 정렬해 새로운 문자열을 리턴하는 함수, solution을 완성해주세요. s는 영문 대소문자로만 구성되어 있으며, 대문자는 소문자보다 작은 것으로 programmers.co.kr 풀이 #include #include using namespace std; string solution(string s) { sort(s.begin(), s.end(), greater()); return s; } 개념 string의 매소드로 begin(), end() 를 사용해 시작과 끝부분의 주소를 알 수 있다. sort 함수에서 3번째 인..
2021.03.14 -
[프로그래머스/C++] ㅡ LV1 - 문자열 내 p와 y의 개수
문제 programmers.co.kr/learn/courses/30/lessons/12916 코딩테스트 연습 - 문자열 내 p와 y의 개수 대문자와 소문자가 섞여있는 문자열 s가 주어집니다. s에 'p'의 개수와 'y'의 개수를 비교해 같으면 True, 다르면 False를 return 하는 solution를 완성하세요. 'p', 'y' 모두 하나도 없는 경우는 항상 True를 programmers.co.kr 풀이 #include #include using namespace std; bool solution(string s) { bool answer = true; int cntp=0, cnty=0; for (int i=0; i char 로 변환해서 문제를 해결했었다. string.h 라이브러리를 통해 st..
2021.03.13 -
누구를 위하여 종은 울리나
『카탈로니아 찬가』를 읽고, 스페인 내전에 대한 궁금증이 강해졌다. 이번에는 좀 더 유명하고 대중적인 『누구를 위하여 종은 울리나』를 읽었다. 페이지수로 느껴지는 양은 방대했지만, 책은 아주 잘 읽힌다. 설명이 없이 바로 진행되는 서사였지만 초반부터 빠르게 몰입이 되는 게 인상적이었다. 누구를 위하여 종은 울리나 줄거리 더보기 로버트 조던은 다리를 폭파하는 역할을 맡은 군인이다. 그는 스페인 내전에서 공화국 편에 서서 파시스트와 맞선다. 공격 신호에 따라 산악 지대의 다리를 파괴해야 한다. 그는 산에 있는 게릴라 부대원들과 접선하여 같이 임무를 수행한다. 파괴할 다리를 확인하고, 충분한 인원을 확보하기 위해서 다른 무리의 게릴라 대원들에게도 도움을 얻는다. 또한 지난번 파시스트와의 마찰에서 부대원이 구해..
2021.03.10 -
[프로그래머스/C++] ㅡ LV1 - 두 정수 사이의 합
문제 programmers.co.kr/learn/courses/30/lessons/12912 코딩테스트 연습 - 두 정수 사이의 합 두 정수 a, b가 주어졌을 때 a와 b 사이에 속한 모든 정수의 합을 리턴하는 함수, solution을 완성하세요. 예를 들어 a = 3, b = 5인 경우, 3 + 4 + 5 = 12이므로 12를 리턴합니다. 제한 조건 a와 b가 같은 경우 programmers.co.kr 풀이 #include #include using namespace std; long long solution(int a, int b) { long long answer = 0; if (a < b) {// a가 적을 때 a부터 덧셈 시작 for (int i=a; i
2021.03.05 -
[프로그래머스/C++] ㅡ LV1 - 나누어 떨어지는 숫자 배열
문제 programmers.co.kr/learn/courses/30/lessons/12910 코딩테스트 연습 - 나누어 떨어지는 숫자 배열 array의 각 element 중 divisor로 나누어 떨어지는 값을 오름차순으로 정렬한 배열을 반환하는 함수, solution을 작성해주세요. divisor로 나누어 떨어지는 element가 하나도 없다면 배열에 -1을 담아 반환하 programmers.co.kr 풀이 #include #include using namespace std; vector solution(vector arr, int divisor) { vector answer; for (int i=0; i
2021.03.05 -
[프로그래머스/C++] ㅡ LV1 - 같은 숫자는 싫어
문제 programmers.co.kr/learn/courses/30/lessons/12906 코딩테스트 연습 - 같은 숫자는 싫어 배열 arr가 주어집니다. 배열 arr의 각 원소는 숫자 0부터 9까지로 이루어져 있습니다. 이때, 배열 arr에서 연속적으로 나타나는 숫자는 하나만 남기고 전부 제거하려고 합니다. 단, 제거된 후 남은 programmers.co.kr 풀이 #include using namespace std; vector solution(vector arr) { vector answer; int last = arr.size()-1; for (int i=0; i
2021.03.03 -
[프로그래머스/C++] ㅡ LV1 - 3진법 뒤집기
문제 programmers.co.kr/learn/courses/30/lessons/68935 코딩테스트 연습 - 3진법 뒤집기 자연수 n이 매개변수로 주어집니다. n을 3진법 상에서 앞뒤로 뒤집은 후, 이를 다시 10진법으로 표현한 수를 return 하도록 solution 함수를 완성해주세요. 제한사항 n은 1 이상 100,000,000 이하인 자연수 programmers.co.kr 풀이 #include #include using namespace std; int solution(int n) { stack s; while (n/3 != 0) {// 3진수로 변환 s.push(n%3); n/=3; } s.push(n); int answer = 0; int r = 1; while (!s.empty()) {/..
2021.03.02 -
[전공필수] 자료구조 및 알고리즘 리뷰
소프트웨어학과에서는 자료구조 과목, 알고리즘 과목을 구분해서 배운다. 허나 전자공학과에서는 한번에 배운다. 아무래도 실습적인 부분보다는 이론 위주로 얕게 배우는 것이라고 생각된다. 주변에 물어본 결과, 타학교 전자과의 경우 이러한 프로그래밍 심화 전공이 선택 과목인 경우도 꽤 있다. 대강 나눠서 생각하면 다음과 같은 것을 배운다. 자료구조 : 배열, 구조체, 포인터, 리스트, 스택, 큐, 트리, 힙, 그래프 알고리즘 : 순환, 정렬, 탐색, 해싱 매우 방대한 양이다.. 간단히 어떤 것인지만 단원별로 요약해서 리뷰하겠다. Ch1 자료구조 & 알고리즘 자료구조는 Data Structure라고 부른다. 정보인 Data를 정리하는 구조로써, 정보를 조직화하여 편하게 사용할 수 있다. 알고리즘은 계산과 데이터 처..
2021.03.01 -
[프로그래머스/C++] ㅡ LV1 - 가운데 글자 가져오기
문제 programmers.co.kr/learn/courses/30/lessons/12903 코딩테스트 연습 - 가운데 글자 가져오기 단어 s의 가운데 글자를 반환하는 함수, solution을 만들어 보세요. 단어의 길이가 짝수라면 가운데 두글자를 반환하면 됩니다. 재한사항 s는 길이가 1 이상, 100이하인 스트링입니다. 입출력 예 s ret programmers.co.kr 풀이 #include using namespace std; string solution(string s) { string answer = ""; int len = s.size();// 문자열 길이 저장 if (len % 2 != 0) {// 홀수라면 answer += s[len/2]; } else {// 짝수라면 answer += ..
2021.02.26