문자열 내림차순으로 배치하기 문제 문제 설명문자열 s에 나타나는 문자를 큰것부터 작은 순으로 정렬해 새로운 문자열을 리턴하는 함수, solution을 완성해주세요.s는 영문 대소문자로만 구성되어 있으며, 대문자는 소문자보다 작은 것으로 간주합니다. 제한 사항str은 길이 1 이상인 문자열입니다. 문제 풀이아스키 코드표를 보면 A~Z 는 65~95, a~z 는 97~122 이다.algorithm의 sort()는 default 값이 오름차순 정렬이다. 대문자가 소문자보다 작은 것으로 간주한다면 주어진 문자열을 내림차순으로 정렬 하면 간단하게 문제를 풀 수 있다. c++ 코드1234567891011#include #include #include using namespace std; string solution..
level1
서울에서 김서방 찾기 문제 문제 설명String형 배열 seoul의 element중 Kim의 위치 x를 찾아, 김서방은 x에 있다는 String을 반환하는 함수, solution을 완성하세요. seoul에 Kim은 오직 한 번만 나타나며 잘못된 값이 입력되는 경우는 없습니다. 제한 사항seoul은 길이 1 이상, 1000 이하인 배열입니다.seoul의 원소는 길이 1 이상, 20 이하인 문자열입니다.Kim은 반드시 seoul 안에 포함되어 있습니다. 문제 풀이seoul 배열에서 algorithm의 find()를 사용하여 iter을 받은 다음 distance()를 사용하여 위치를 iterrator에서 int로 받는다. 이때 distance()는 find(seoul.begin(),seoul.end(),"Ki..
문자열 내 마음대로 정렬하기 문제문제 설명문자열로 구성된 리스트 strings와, 정수 n이 주어졌을 때, 각 문자열의 인덱스 n번째 글자를 기준으로 오름차순 정렬하려 합니다. 예를 들어 strings가 [sun, bed, car]이고 n이 1이면 각 단어의 인덱스 1의 문자 u, e, a로 strings를 정렬합니다. 제한 조건strings는 길이 1 이상, 50이하인 배열입니다.strings의 원소는 소문자 알파벳으로 이루어져 있습니다.strings의 원소는 길이 1 이상, 100이하인 문자열입니다.모든 strings의 원소의 길이는 n보다 큽니다.인덱스 1의 문자가 같은 문자열이 여럿 일 경우, 사전순으로 앞선 문자열이 앞쪽에 위치합니다. 문제 풀이alogrithm 라이브러리의 sort() 를 이용..
나누어 떨어지는 숫자 배열 문제문제 설명array의 각 element 중 divisor로 나누어 떨어지는 값을 오름차순으로 정렬한 배열을 반환하는 함수, solution을 작성해주세요.divisor로 나누어 떨어지는 element가 하나도 없다면 배열에 -1을 담아 반환하세요.제한사항arr은 자연수를 담은 배열입니다.정수 i, j에 대해 i ≠ j 이면 arr[i] ≠ arr[j] 입니다.divisor는 자연수입니다.array는 길이 1 이상인 배열입니다. 문제 풀이array 배열에서 하나씩 element를 가져와 divisor로 나누어 떨어지는 값들은 answer에 넣는다. answer의 size가 0이면 -1을 반환하고 아닐 경우 algoritm 라이브러리의 sort함수로 정렬해준다. C++ 코드12..
가운데 글자 가져오기 문제문제 설명단어 s의 가운데 글자를 반환하는 함수, solution을 만들어 보세요. 단어의 길이가 짝수라면 가운데 두글자를 반환하면 됩니다. 재한사항s는 길이가 1 이상, 100이하인 스트링입니다. 문제 풀이간단한 문제이다. s의 길이가 짝수일떄와 홀수일떄로 나누어서 짝수일때는 string 클래스의 substr()를 사용하여 문자 두개를 가져온다. 홀수일때는 인덱싱을 통하여 가져온다. c++ 코드123456789101112131415#include #include using namespace std; string solution(string s) { string answer = ""; int len = s.length(); if(len%2==0){ answer = s.substr..
체육복 문제문제 설명오늘은 체육수업이 있는 날입니다. 그런데 점심시간에 도둑이 들어 몇몇 학생의 체육복이 도난을 당했습니다. 다행히 일부 학생들이 여벌의 체육복을 가져왔습니다. 학생들의 번호는 체격 순으로 매겨져 있기 때문에 바로 앞번호의 학생이나 바로 뒷번호의 학생에게만 체육복을 빌려주려고 합니다.예를 들어, 4번 학생은 3번 학생이나 5번 학생에게만 체육복을 빌려줄 수 있습니다. 당연히 체육복을 2벌 가져온 학생의 체육복이 도난을 당했다면, 여벌의 체육복을 빌려줄 수 없습니다.체육복이 없으면 체육수업을 들을 수 없기 때문에 체육복을 적절히 빌려 최대한 많은 학생이 체육수업을 듣고 싶습니다.전체 학생의 수 n, 체육복을 도난당한 학생들의 번호가 담긴 배열 lost, 여벌의 체육복을 가져온 학생들의 번호..
문자열 다루기 기본 문제문제 설명문자열 s의 길이가 4혹은 6이고, 숫자로만 구성되있는지 확인해주는 함수, solution을 완성하세요.예를들어 s가 a234이면 False를 리턴하고 1234라면 True를 리턴하면 됩니다.제한 사항s는 길이 1 이상, 길이 8 이하인 문자열입니다. 문제 풀이먼저 s.size()를 통해서 길이를 구해서 4 혹은 6인지 확인한다. 그 이후 문자열에 숫자만 존재하는지 확인한다. 0~9 까지의 아스키 코드 값은 48~57이다. 이때 아스키 코드 값으로 비교하지 않고 isdigit()을 사용해도 무관하다. C++ 코드12345678910111213141516#include #include using namespace std; bool solution(string s) { if(..
문자열 내 p와 y의 개수 문제 문제 설명 대문자와 소문자가 섞여있는 문자열 s가 주어집니다. s에 'p'의 개수와 'y'의 개수를 비교해 같으면 True, 다르면 False를 return 하는 solution를 완성하세요. 'p', 'y' 모두 하나도 없는 경우는 항상 True를 리턴합니다. 단, 개수를 비교할 때 대문자와 소문자는 구별하지 않습니다. 예를들어 s가 pPoooyY면 true를 return하고 Pyy라면 false를 return합니다. 제한사항 문자열 s의 길이 : 50 이하의 자연수문자열 s는 알파벳으로만 이루어져 있습니다. 문제 풀이 주어진 문자열 s를 전부 소문자로 바꿔준다. 이때 의 transform 함수를 이용한다. 그 이후 s를 하나씩 읽으면서 p 와 y 의 갯수를 센 다음 결..