문자열을 정수로 변환하기 : 문제 링크숫자로만 이루어진 문자열 n_str이 주어질 때, n_str을 정수로 변환하여 return문자의 일의자리부터 n의 자리까지 각 위치를 결정하기 위한 pos라는 int형 변수를 1로 초기화. for loop의 시작 인덱스는 n_str
rny_string : 문제 링크'm'과 "rn"이 모양이 비슷하게 생긴 점을 활용해 문자열에 장난을 하려고 한다. 문자열 rny_string이 주어질 때, rny_string의 모든 'm'을 "rn"으로 바꾼 문자열을 return예시)"masterpiece" -> r
n 번째 원소부터 : 문제 링크정수 리스트 num_list와 정수 n이 주어질 때, n번째 원소부터 마지막 원소까지의 모든 원소를 담은 리스트를 returnn번째 원소는 vector 내에서 index가 n - 1이므로, for loop의 초기값을 n - 1으로 설정하고
n개 간격의 원소들 : 문제 링크정수 리스트 num_list와 정수 n이 주어질 때, num_list의 첫 번째 원소부터 마지막 원소까지 n개 간격으로 저장되어있는 원소들을 차례로 담은 리스트를 returnnum_list의 첫 번째 원소부터 저장해야 하므로 for lo
공백으로 구분하기 1 : 문제 링크단어가 공백 한 개로 구분되어 있는 문자열 my_string이 매개변수로 주어질 때, my_string에 나온 단어를 앞에서부터 순서대로 담은 문자열 배열을 returnfor loop에서 if문을 통해 my_string에서 공백을 만날
n 번째 원소까지 : 문제 링크정수 리스트 num_list와 정수 n이 주어질 때, num_list의 첫 번째 원소부터 n번째 원소까지 모든 원소를 담은 리스트를 returnnum_list의 첫 번째 원소부터 저장해야 하므로 for loop의 초기값을 0으로 설정하고,
조건에 맞게 수열 변환하기 3 : 문제 링크정수 배열 arr와 자연수 k가 주어진다. 만약 k가 홀수라면 arr의 모든 원소에 k를 곱하고, k가 짝수라면 arr의 모든 원소에 k를 더한다. 이러한 변환을 마친 후에 arr를 returnfor loop에서 if ~ el
조건에 맞게 수열 변환하기 1 : 문제 링크정수 배열 arr이 주어진다. arr의 각 원소에 대해 값이 50보다 크거나 같은 짝수라면 2로 나누고, 50보다 작은 홀수라면 2를 곱한다. 그 결과인 정수 배열을 returnfor loop에서 if ~ else문을 통해 5
배열 비교하기 : 문제 링크두 정수 배열의 대소관계를 다음과 같이 정의한다.두 배열의 길이가 다르다면, 배열의 길이가 긴 쪽이 더 크다.배열의 길이가 같다면 각 배열에 있는 모든 원소의 합을 비교하여 다르다면 더 큰 쪽이 크고, 같다면 같다.두 정수 배열 arr1과 a
글자 이어 붙여 문자열 만들기 : 문제 링크문자열 my_string과 정수 배열 index_list가 매개변수로 주어진다. my_string의 index_list의 원소들에 해당하는 인덱스의 글자들을 순서대로 이어 붙인 문자열을 returnfor loop에서 my_st
배열에서 문자열 대소문자 변환하기 : 문제 링크문자열 배열 strArr가 주어진다. 모든 원소가 알파벳으로만 이루어져 있을 때, 배열에서 홀수번째 인덱스의 문자열은 모든 문자를 대문자로, 짝수번째 인데스의 문자열은 모든 문자를 소문자로 바꿔서 return 하는 solu
부분 문자열인지 확인하기 : 문제 링크부분 문자열이란 문자열에서 연속된 일부분에 해당하는 문자열을 의미한다. 예를 들어, 문자열 "ana", "ban", "anana", "banana", "n"는 모두 문자열 "banana"의 부분 문자열이다.문자열 my_string과
대문자로 바꾸기 : 문제 링크알파벳으로 이루어진 문자열 myString이 주어진다. 모든 알파벳을 대문자로 변환하여 return대소문자 변환을 위해 transform() 함수를 사용하므로 헤더를 include. transform() 함수의 ::toupper 옵션을 통
문자열의 뒤의 n글자 : 문제 링크문자열 my_string과 정수 n이 매개변수로 주어질 때, my_string의 뒤의 n글자로 이루어진 문자열을 returnsubstr() 함수를 사용하여 인수에 시작인덱스를 넣는데, my_string 문자열중 가장 마지막 위치인 my
카운트 업 : 문제 링크정수 start_num와 end_num가 주어질 때, start_num부터 end_num까지의 숫자를 차례로 담은 리스트를 returnfor loop에서 초기 index를 start_num으로, 조건식 범위를 end_num 까지로 설정. inde
문자열 정수의 합 : 문제 링크한 자리 정수로 이루어진 문자열 num_str이 주어질 때, 각 자리수의 합을 returnfor loop에서 초기 index를 0으로, 조건식 범위를 문자열의 가장 마지막 자리인 num_str.size()까지로 설정. 각 자리의 문자 형태
길이에 따른 연산 : 문제 링크정수가 담긴 리스트 num_list가 주어질 때, 리스트의 길이가 11 이상이면 리스트에 있는 모든 원소의 합을 10 이하이면 모든 원소의 곱을 return리스트의 길이가 10이하인 경우 모든 원소의 곱을 return 해야 하므로, 마지막
마지막 두 원소 : 문제 링크정수가 담긴 리스트 num_list가 주어질 때, 마지막 원소가 그전 원소보다 크면 마지막 원소에서 그전 원소를 뺀 값을 마지막 원소가 그전 원소보다 크지 않다면 마지막 원소를 두 배한 값을 추가하여 return코드 가독성을 위해 l_siz
문자열의 앞의 n글자 : 문제 링크문자열 my_string과 정수 n이 매개변수로 주어질 때, my_string의 앞의 n글자로 이루어진 문자열을 returnsubstr() 함수를 사용하여 인수에 시작인덱스와 문자열 길이를 넣는데, my_string 문자열중 가장 첫번
소문자로 바꾸기 : 문제 링크알파벳으로 이루어진 문자열 myString이 주어진다. 모든 알파벳을 소문자로 변환하여 return대소문자 변환을 위해 transform() 함수를 사용하므로 헤더를 include. transform() 함수의 ::tolower 옵션을 통
첫 번째로 나오는 음수 : 문제 링크정수 리스트 num_list가 주어질 때, 첫 번째로 나오는 음수의 인덱스를 returnanswer 변수는 -1로 초기화하고, for loop를 통해 없다면 마지막에 -1을 returnfor loop가 돌면서 if문을 통해 num_l
문자열로 변환 : 문제 링크정수 n이 주어질 때, n을 문자열로 변환하여 return정수를 인자로 받아 문자열로 변환하는 반환하는 함수인 to_string을 사용. n을 인자로 하여 변환 후, answer 문자열에 저장. 최종적으로 저장된 answer을 return
이어 붙인 수 : 문제 링크정수가 담긴 리스트 num_list가 주어진다. num_list의 홀수만 순서대로 이어 붙인 수와 짝수만 순서대로 이어 붙인 수의 합을 return홀수를 이어붙인수를 저장할 odd, 짝수를 이어붙인수를 저장할 even을 0으로 초기화. for
배열 만들기 1 : 문제 링크정수 n과 k가 주어졌을 때, 1 이상 n이하의 정수 중에서 k의 배수를 오름차순으로 저장한 배열을 return배수를 만들기 위한 int형 변수를 1로 초기화하고, for loop의 조건문을 n / k로 설정하여 해당하는 값만큼만 수행하도록
접두사인지 확인하기 : 문제 링크어떤 문자열에 대해서 접두사는 특정 인덱스까지의 문자열을 의마한다. 예를 들어, "banana"의 모든 접두사는 "b", "ba", "ban", "bana", "banan", "banana"이다. 문자열 my_string과 is_pref
접두사인지 확인하기 : 문제 링크양의 정수 a와 b가 주어졌을 때, a ⊕ b와 b ⊕ a 중 더 큰 값을 return. 단, a ⊕ b와 b ⊕ a가 같다면 a ⊕ b를 return.문자열 ab, ba에 각각 a ⊕ b, b ⊕ a를 to_string() 함수를 통해
수 조작하기 1 : 문제 링크정수 n과 문자열 control이 주어진다. control은 "w", "a", "s", "d"의 4개의 문자로 이루어져 있으며, control의 앞에서부터 순서대로 문자에 따라 n의 값을 바꾼다."w" : n이 1 커진다."s" : n이 1
정수 찾기 : 문제 링크정수 리스트 num_list와 찾으려는 정수 n이 주어질 때, num_list 안에 n이 있으면 1을 없으면 0을 returnfor loop를 통해 num_list의 첫번째부터 마지막까지 인덱스의 정수까지 순서대로 수행. 해당 인덱스의 정수와 n
문자열 바꿔서 찾기 : 문제 링크문자 "A"와 "B"로 이루어진 문자열 myString과 pat가 주어진다. myString의 "A"를 "B"로, "B"를 "A"로 바꾼 문자열의 연속하는 부분 문자열 중 pat이 있으면 1을 아니면 0을 returnfor loop를 통
문자열 바꿔서 찾기 : 문제 링크문자 "A"와 "B"로 이루어진 문자열 myString과 pat가 주어진다. myString의 "A"를 "B"로, "B"를 "A"로 바꾼 문자열의 연속하는 부분 문자열 중 pat이 있으면 1을 아니면 0을 returnfor loop를 통
문자열 바꿔서 찾기 : 문제 링크문자 "A"와 "B"로 이루어진 문자열 myString과 pat가 주어진다. myString의 "A"를 "B"로, "B"를 "A"로 바꾼 문자열의 연속하는 부분 문자열 중 pat이 있으면 1을 아니면 0을 returnfor loop를 통
대문자로 바꾸기 : 문제 링크영소문자로 이루어진 문자열 my_string과 영소문자 1글자로 이루어진 문자열 alp가 매개변수로 주어질 때, my_string에서 alp에 해당하는 모든 글자를 대문자로 바꾼 문자열을 returnfor loop를 통해 my_string의
홀짝에 따라 다른 값 반환하기 : 문제 링크양의 정수 n이 매개변수로 주어질 때, n이 홀수라면 n이하의 홀수인 모든 양의 정수의 합을 return하고, n이 짝수라면 n이하의 짝수인 모든 양의 정수의 제곱의 합을 returnif ~ else문을 통해 매개변수 n이 홀
n보다 커질 때까지 더하기 : 문제 링크정수 배열 numbers와 정수 n이 매개변수로 주어진다. numbers의 원소를 앞에서부터 하나씩 더하다가 그 합이 n보다 커지는 순간 이때까지 더했던 원소들의 합을 returnfor loop를 통해 정수 배열 numbers의
홀짝 구분하기 : 문제 링크자연수 n이 입력으로 주어졌을 때 만약 n이 짝수이면 "n is even"을, 홀수이면 "n is odd"를 출력정수형 변수 n에 cin으로 자연수를 입력받고, if ~ else문을 통해 홀수, 짝수를 판별. cout을 통해 홀수일 경우 자연
0 떼기 : 문제 링크정수로 이루어진 문자열 n_str이 주어질 때, n_str의 가장 왼쪽에 처음으로 등장하는 0들을 뗀 문자열을 return문자열에서 0을 제외하고 시작하는 위치를 찾기위한 find라는 정수형 함수를 만듬. 해당 함수는 매개변수로 문자열을 받고, f
카운트 다운 : 문제 링크정수 start_num와 end_num가 주어질 때, start_num에서 end_num까지 1씩 감소하는 수들을 차례로 담은 리스트를 returnfor loop를 통해 인덱스를 start_num으로 초기화하고, end_num보다 크거나 같을때
I로 만들기 : 문제 링크알파벳 소문자로 이루어진 문자열 myString이 주어진다. 알파벳 순서에서 "l"보다 앞서는 모든 문자를 "l"로 바꾼 문자열을 returnfor loop를 통해 myString의 첫번째부터 마지막 원소까지 검사하고, if ~ else로 "l
부분 문자열 : 문제 링크어떤 문자열 A가 다른 문자열 B안에 속하면 A를 B의 부분 문자열이라고 한다. 예를 들어 문자열 "abc"는 문자열 "aabcc"의 부분 문자열이다.문자열 str1과 str2가 주어질 때, str1이 str2의 부분 문자열이라면 1을 부분 문
5명씩 : 문제 링크최대 5명씩 탑승가능한 놀이기구를 타기 위해 줄을 서있는 사람들의 이름이 담긴 문자열 리스트 names가 주어질 때, 앞에서 부터 5명씩 묶은 그룹의 가장 앞에 서있는 사람들의 이름을 담은 리스트를 returnfor loop를 통해 문자열 리스트 n
부분 문자열 이어 붙여 문자열 만들기 : 문제 링크길이가 같은 문자열 배열 my_strings와 이차원 정수 배열 parts가 매개변수로 주어진다. partsi는 s, e 형태로, my_stringi의 인덱스 s부터 인덱스 e까지의 부분 문자열을 의마한다. 각 my_s
접미사인지 확인하기 : 문제 링크어떤 문자열에 대해서 접미사는 특정 인덱스부터 시작하는 문자열을 의미한다. 예를 들어, "banana"의 모든 접미사는 "banana", "anana", "nana", "ana", "na", "a"이다. 문자열 my_string과 is_
배열의 원소만큼 추가하기 : 문제 링크아무 원소도 들어있지 않은 빈 배열 X가 있다. 양의 정수 배열 arr가 매개변수로 주어질 때, arr의 앞에서부터 차례대로 원소를 보면서 원소가 a라면 X의 맨 뒤에 a를 a번 추가하는 일을 반복한 뒤의 배열 X를 return양의
주사위 게임 1 : 문제 링크1부터 6까지 숫자가 적힌 주사위가 두개 있다. 두 주사위를 굴렸을 때 나온 숫자를 각각 a, b라고 했을 때 얻는 점수는 다음과 같다.a와 b가 모두 홀수라면 a^2 + b^2 점을 얻는다.a와 b중 하나만 홀수라면 2 x (a + b)점
공백으로 구분하기 2 : 문제 링크단어가 공백 한 개 이상으로 구분되어 있는 문자열 my_string이 매개변수로 주어질 때, my_string에 나온 단어를 앞에서부터 순서대로 담은 문자열 배열을 return단어를 임시로 저장할 문자열 tmp를 선언. for loop
꼬리 문자열 : 문제 링크문자열들이 담긴 리스트가 주어졌을 때, 모든 문자열들을 순서대로 합친 문자열을 꼬리 문자열이라고 한다. 꼬리 문자열을 만들 때 특정 문자열을 포함한 문자열은 제외시키려고 한다. 예를 들어 문자열 리스트 "abc", "def", "ghi"가 있고
배열의 길이에 따라 다른 연산하기 : 문제 링크정수 배열 arr과 정수 n이 매개변수로 주어진다. arr의 길이가 홀수라면 arr의 모든 짝수 인덱스 위치에 n을 더한 배열을, arr의 길이가 짝수라면 arr의 모든 홀수 인덱스 위치에 n을 더한 배열을 returnif
순서 바꾸기 : 문제 링크정수 리스트 num_list와 정수 n이 주어질 때, num_list를 n번째 원소 이후의 원소들과 n번째까지의 원소들로 나눠 n번째 원소 이후의 원소들을 n번째까지의 원소들 앞에 붙인 리스트를 return첫번째 for loop를 통해 초기화식
원하는 문자열 찾기 : 문제 링크알파벳으로 이루어진 문자열 myString과 pat이 주어진다. myString의 연속된 부분 문자열 중 pat이 존재하면 1을 그렇지 않으면 0을 return소문자 변환을 위해 transform() 함수를 사용하므로 헤더를 inclu
배열의 원소 삭제하기 : 문제 링크정수 배열 arr과 delete_list가 있다. arr의 원소 중 delete_list의 원소를 모두 삭제하고 남은 원소들은 기존의 arr에 있던 순서를 유지한 배열을 returndelete_list 내에 arr의 원소가 존재하는지
할 일 목록 : 문제 링크오늘 해야 할 일이 담긴 문자열 배열 todo_list와 각각의 일을 지금 마쳤는지를 나타내는 boolean 배열 finished가 매개변수로 주어질 때, todo_list에서 아직 마치지 못한 일들을 순서대로 담은 문자열 배열을 returnf
A 강조하기 : 문제 링크문자열 myString이 주어진다. myString에서 알파벳 "a"가 등장하면 전부 "A"로 변환하고, "A"가 아닌 모든 대문자 알파벳은 소문자 알파벳으로 변환하여 return소문자 변환을 위해 transform() 함수를 사용하므로 헤더
홀수 vs 짝수 : 문제 링크정수 리스트 num_list가 주어진다. 가장 첫 번째 원소를 1번 원소라고 할 때, 홀수 번째 원소들의 합과 짝수 번째 원소들의 합 중 큰 값을 return. 두 값이 같을 경우 그 값을 return홀수 및 짝수 번째 원소를 저장할 odd
x 사이의 개수 : 문제 링크문자열 myString이 주어진다. myString을 문자 "x"를 기준으로 나눴을 때 나눠진 문자열 각각의 길이를 순서대로 저장한 배열을 return"x"를 기준으로 나눠진 문자열 길이를 저장할 int형 변수 tmp를 0으로 초기화. fo
특별한 이차원 배열 2 : 문제 링크n x n 크기의 이차원 배열 arr이 매개변수로 주어질 때, arr이 다음을 만족하면 1을 아니라면 0을 return0 <= i, j < n 인 정수 i, j에 대하여 arri = arrj이중 for loop를 통해 이차
콜라츠 수열 만들기 : 문제 링크모든 자연수 x에 대해서 현재 값이 x이면 x가 짝수일 때는 2로 나누고, x가 홀수일 때는 3 \* x + 1로 바꾸는 계산을 계속해서 반복하면 언젠가는 반드시 x가 1이 되는지 묻는 문제를 콜라츠 문제라고 부른다.위 과정에서 거쳐간
두 수의 연산값 비교하기 : 문제 링크연산 ⊕는 두 정수에 대한 연산으로 두 정수를 붙여서 쓴 값을 반환한다. 예를 들면 다음과 같다.12 ⊕ 3 = 1233 ⊕ 12 = 312양의 정수 a와 b가 주어졌을 때, a ⊕ b와 2 x a x b 중 더 큰 값을 retur
가까운 1 찾기 : 문제 링크정수 배열 arr가 주어진다. 이때 arr의 원소는 1 또는 0이다. 정수 idx가 주어졌을 때, idx보다 크면서 배열의 값이 1인 가장 작은 인덱스를 찾아서 returnfor loop의 초기화식을 idx로 설정하여 idx보다 크거나 같은
문자열 잘라서 정렬하기 : 문제 링크문자열 myString이 주어진다. "x"를 기준으로 해당 문자열을 잘라내 배열을 만든 후 사전순으로 정렬한 배열을 return"x"를 기준으로 나눠진 문자열을 저장할 string형 변수 tmp를 선언. for loop를 통해 myS
특별한 이차원 배열 1 : 문제 링크정수 n이 매개변수로 주어질 때, 다음과 같은 n x n 크기의 이차원 배열 arr를 returnarri (0 <= i,j < n)의 값은 i = j이면 1, 아니라면 0이다.n x n 크기의 이차원 배열 answer의 원
ad 제거하기 : 문제 링크문자열 배열 strArr가 주어진다. 배열 내의 문자열 중 "ad"라는 부분 문자열을 포함하고 있는 모든 문자열을 제거하고 남은 문자열을 순서를 유지하여 배열로 returnfor loop를 사용하여 strArr내의 모든 문자열을 검사. if문
문제 간단한 식 계산하기 : 문제 링크 문제 분석 문자열 binomial이 매개변수로 주어진다. binomial은 "a op b" 형태의 이항식이고 a와 b는 음이 아닌 정수, op는 '+','-','x' 중 하나이다. 주어진 식을 계산한 정수를 return a, b
접미사 배열 : 문제 링크어떤 문자열에 대해서 접미사는 특정 인덱스부터 시작하는 문자열을 의미한다. 예를 들어, "banana"의 모든 접미사는 "banana", "anana", "nana", "ana", "na", "a" 이다. 문자열 my_string이 매개변수로
문자 리스트를 문자열로 변환하기 : 문제 링크문자들이 담겨있는 배열 arr가 주어진다. arr의 원소들을 순서대로 이어붙인 문자열을 returnfor loop를 통해 배열 arr의 첫번째부터 마지막 원소까지 검사하고, 문자를 모두 문자열 answer에 저장. 최종적으로
배열 만들기 3 : 문제 링크정수 배열 arr와 2개의 구간이 담긴 배열 intervals가 주어진다. intervals는 항상 \[a1, b1, a2, b2] 의 꼴로 주어지며 각 구간은 닫힌 구간이다. 닫힌 구간은 양 끝 값과 그 사이의 값을 모두 포함하는 구간을
문자열 돌리기 : 문제 링크문자열 str이 주어진다. 문자열을 시계방향으로 90도 돌려서 아래 입출력 예와 같이 출력하는 코드를 작성.입력 > \* 출력 abcde문자열 str에 cin을 통해 입력을 받고, for loop를 통해 str의 첫번째부터 마지막까지 순환.
주사위 게임 2 : 문제 링크1부터 6까지 숫자가 적힌 주사위가 세 개 있다. 세 주사위를 굴렸을 때 나온 숫자를 각각 a, b, c라고 했을 때 얻는 점수는 다음과 같다.세 숫자가 모두 다르다면 a + b + c점을 얻는다.세 숫자 중 어느 두 숫자는 같고 나머지 다
9로 나눈 나머지 : 문제 링크음이 아닌 정수를 9로 나눈 나머지는 그 정수의 각 자리 숫자의 합을 9로 나눈 나머지와 같은 것이 알려져 있다. 이 사실을 이용하여 음이 아닌 정수가 문자열 number로 주어질 때, 이 정수를 9로 나눈 나머지를 return각 자리 숫
수 조작하기 2 : 문제 링크정수 배열 numLog가 주어진다. 처음에 numLog0에서 부터 시작해 "w","a","s","d"로 이루어진 문자열을 입력으로 받아 순서대로 다음과 같은 조작을 했다고 하자."w" : 수에 1을 더한다."s" : 수에 1을 뺀다."d"
수열과 구간 쿼리 1 : 문제 링크정수 배열 arr와 2차원 정수 배열 queries이 주어진다. queries의 원소는 각각 하나의 query를 나타내며, s, e 꼴이다. 각 query마다 순서대로 s <= i <= e인 모든 i에 대해 arri에 1을
세로 읽기 : 문제 링크문자열 my_string과 두 정수 m, c가 주어진다. my_string을 한 줄에 m 글자씩 가로로 적었을 때 왼쪽부터 세로로 c번째 열에 적힌 글자들을 문자열로 return세로로 c번째 열에 적힌 글자를 문자열로 저장할 answer을 초기화
날짜 비교하기 : 문제 링크정수 배열 date1과 date2가 주어진다. 두 배열은 각각 날짜를 나타내며 year, month, day꼴로 주어진다. 각 배열에서 year는 연도를, month는 월을, day는 날짜를 나타낸다. 만약 date1이 date2보다 앞서는
글자 지우기 : 문제 링크문자열 my_string과 정수 배열 indices가 주어질 때, my_string에서 indices의 원소에 해당하는 인덱스의 글자를 지우고 이어 붙인 문자열을 returnfind 함수를 사용하여 indices 배열내에 해당 인덱스 번호가 존
문제 문자열 섞기 : 문제 링크 문제 분석 길이가 같은 두 문자열 str1과 str2가 주어진다. 두 문자열의 각 문자가 앞에서부터 서로 번갈아가면서 한 번씩 등장하는 문자열을 만들어 return 문자열을 만들어서 저장할 answer을 초기화. 문자열 str1과 st
문제 등차수열의 특정한 항만 더하기 : 문제 링크 문제 분석 두 정수 a, d와 길이가 n인 boolean 배열 included가 주어진다. 첫째항이 a, 공차가 d인 등차수열에서 included[i]가 i + 1항을 의미할 때, 이 등차수열의 1항부터 n항까지 in
문제 이차원 배열 대각선 순회하기 : 문제 링크 문제 분석 2차원 정수 배열 board와 정수 k가 주어진다. i + j <= k를 만족하는 모든 (i,j)에 대한 boardi의 합을 return 문제 조건을 만족하는 boardi의 합을 저장할 정수형 변수 answe
문제 수열과 구간 쿼리 3 : 문제 링크 문제 분석 정수 배열 arr와 2차원 정수 배열 queries이 주어진다. queries의 원소는 각각 하나의 query를 나타내며, [i, j] 꼴이다. 각 query마다 순서대로 arr[i]의 값과 arr[j]의 값을 서로
배열 만들기 5 : 문제 링크문자열 배열 intStrs와 정수 k, s, l가 주어진다. intStrs의 원소는 숫자로 이루어져 있다. 배열 intStrs의 각 원소마다 s번 인덱스에서 시작하는 길이 l짜리 부분 문자열을 잘라내 정수로 변환한다. 이때 변환한 정수값이
빈 배열에 추가, 삭제하기 : 문제 링크아무 원소도 들어있지 않은 빈 배열 X가 있다. 길이가 같은 정수 배열 arr과 boolean 배열 flag가 매개변수로 주어질 때, flag를 차례대로 순회하며 flagi가 true라면 X의 뒤에 arri를 arri x 2번 추
문자열 뒤집기 : 문제 링크문자열 my_string과 정수 s, e가 매개변수로 주어질 때, my_string에서 인덱스 s부터 인덱스 e까지를 뒤집은 문자열을 return뒤집은 문자열을 저장할 문자열 answer을 초기화. for loop를 통해 my_string의
1로 만들기 : 문제 링크정수가 있을 때, 짝수라면 반으로 나누고, 홀수라면 1을 뺀 뒤 반으로 나누면, 마지막엔 1이 된다. 예를 들어 10이 있다면 다음과 같은 과정으로 1이 된다.10 / 2 = 5(5 - 1) / 2 = 44 / 2 = 22 / 2 = 1위와 같
문자열이 몇 번 등장하는지 세기 : 문제 링크문자열 myString과 pat이 주어진다. myString에서 pat이 등장하는 횟수를 returnmyString에서 pat이 등장하는 횟수를 저장할 answer을 0으로 초기화. for loop를 통해 myString의
특정 문자열로 끝나는 가장 긴 부분 문자열 찾기 : 문제 링크문자열 myString과 pat가 주어진다. myString의 부분 문자열중 pat로 끝나는 가장 긴 부분 문자열을 찾아서 return찾은 문자열을 저장할 문자열 answer을 초기화. for loop를 통해
배열의 길이를 2의 거듭제곱으로 만들기 : 문제 링크정수 배열 arr이 매개변수로 주어진다. arr의 길이가 2의 정수 거듭제곱이 되도록 arr뒤에 정수 0을 추가하려고 한다. arr에 최소한의 개수로 0을 추가한 배열을 returnarr의 길이에 따라 2의 정수 거듭
간단한 논리 연산 : 문제 링크boolean 변수 x1, x2, x3, x4가 매개변수로 주어질 때, 다음의 식의 true/false를 return(x1 ∨ x2) ∧ (x3 ∨ x4)위 식의 true/false 정보를 저장할 boolean 변수 answer을 true
세 개의 구분자 : 문제 링크임의의 문자열이 주어졌을 때 문자 "a","b","c"를 구분자로 사용해 문자열을 나누고자 한다. 예를 들어 주어진 문자열이 "baconlettucetomato"라면 나눠진 문자열 목록은 "onlettu","etom","to"가 된다. 문자
수열과 구간 쿼리 4 : 문제 링크정수 배열 arr와 2차원 정수 배열 queries이 주어진다. queries의 원소는 각각 하나의 query를 나타내며, s, e, k 꼴이다. 각 query마다 순서대로 s <= i <= e인 모든 i에 대해 i가 k의
2의 영역 : 문제 링크정수 배열 arr가 주어진다. 배열안의 2가 모두 포함된 가장 작은 연속 된 부분 배열을 return. 단, arr에 2가 없는 경우 -1을 return정수 배열 arr에 2가 들어있는 인덱스를 저장할 정수 배열 check를 초기화. for lo
정수를 나선형으로 배치하기 : 문제 링크양의 정수 n이 매개변수로 주어진다. n x n 배열에 1부터 n^2까지 정수를 인덱스 0부터 시계방향 나선형으로 배치한 이차원 배열을 return정수를 저장할 2차원 vector answer을 n X n 크기로 0으로 초기화.
리스트 자르기 : 문제 링크정수 n과 정수 3개가 담긴 리스트 slicer 그리고 정수 여러 개가 담긴 리스트 num_list가 주어진다. slicer에 담긴 정수를 차례대로 a, b, c라고 할 때, n에 따라 다음과 같이 num_list를 슬라이싱 하려고 한다.n
qr code : 문제 링크두 정수 q, r과 문자열 code가 주어질 때, code의 각 인덱스를 q로 나누었을 때 나머지가 r인 위치의 문자를 앞에서부터 순서대로 이어 붙인 문자열을 return이어 붙인 문자열을 저장할 문자열 answer을 초기화. for loop
조건에 맞게 수열 변환하기 2 : 문제 링크정수 배열 arr가 주어진다. arr의 각 원소에 대해 값이 50보다 크거나 같은 짝수라면 2로 나누고, 50보다 작은 홀수라면 2를 곱하고 다시 1을 더한다. 이러한 작업을 x번 반복한 결과인 배열을 arr(x)라고 표현했을
커피 심부름 : 문제 링크팀의 막내인 철수는 아메리카노와 카페라테만 판매하는 카페에서 팀원들의 커피를 사려고 한다. 아메리카노와 카페 라테의 가격은 차가운 것과 뜨거운 것 상관없이 각각 4500, 5000원이다. 각 팀원에게 마실 메뉴를 적어달라고 하였고, 그 중에서
문자열 묶기 : 문제 링크문자열 배열 strArr이 주어진다. strArr의 원소들을 길이가 같은 문자열들끼리 그룹으로 묶었을 때 가장 개수가 많은 그룹의 크기를 return가장 개수가 많은 그룹의 크기를 확인하기 위해 max() 함수를 사용하므로 algorithm 헤
문제 정수를 나선형으로 배치하기 : 문제 링크 문제 분석 양의 정수 n이 매개변수로 주어진다. n x n 배열에 1부터 n^2까지 정수를 인덱스 0부터 시계방향 나선형으로 배치한 이차원 배열을 return 정수를 저장할 2차원 vector answer을 n X n 크
문자 개수 세기 : 문제 링크알파벳 대소문자로만 이루어진 문자열 my_string이 주어질 때, my_string에서 'A'의 개수, my_string에서 'B'의 개수,..., my_string에서 'Z'의 개수, my_string에서 'a'의 개수, my_strin
배열 만들기 4 : 문제 링크정수 배열 arr가 주어진다. arr를 이용해 새로운 배열 stk를 만들려고 한다. 변수 i를 만들어 초기값을 0으로 설정한 후 i가 arr의 길이보다 작으면 다음 작업을 반복한다.만약 stk가 빈 배열이라면 arri를 stk에 추가하고 i
두 수의 합 : 문제 링크0 이상의 두 정수가 문자열 a, b로 주어질 때, a + b의 값을 문자열로 return1 <= a, b의 길이 <= 100,000숫자의 최대 길이가 100,000이므로, long long int로도 덧셈을 수행할 수 없다. 따라서
왼쪽 오른쪽 : 문제 링크문자열 리스트 str_list에는 "u","d","l","r" 네 개의 문자열이 여러 개 저장되어 있다. str_list에서 "l"과 "r" 중 먼저 나오는 문자열이 "l"이라면 해당 문자열을 기준으로 왼쪽에 있는 문자열들을 순서대로 담은 리스
조건 문자열 : 문제 링크문자열에 따라 다음과 같이 두 수의 크기를 비교하려고 한다.두 수가 n과 m이라면">","=" : n >= m"<","=" : n <= m">","!" : n > m"<","!" : n < m두 문자열 ineq와 eq가 주
수열과 구간 쿼리 2 : 문제 링크정수 배열 arr와 2차원 정수 배열 queries이 주어진다. queries의 원소는 각각 하나의 query를 나타내며, s, e, k 꼴이다. 각 query마다 순서대로 s <= i <= e인 모든 i에 대해 k보다 크면
문자열 겹쳐쓰기 : 문제 링크문자열 my_string, overwrite_string과 정수 s가 주어진다. 문자열 my_string의 인덱스 s부터 overwrite_string의 길이만큼을 문자열 overwrite_string으로 바꾼 문자열을 return바꾼 문자
대소문자 바꿔서 출력하기 : 문제 링크영어 알파벳으로 이루어진 문자열 str이 주어진다. 각 알파벳을 대문자는 소문자로 소문자는 대문자로 변환해서 출력하는 코드를 작성. 알파벳으로 이루어진 문자열을 입력받을 str을 초기화하고, cin 함수로 입력 받음. for loo
배열 만들기 6 : 문제 링크0과 1로만 이루어진 정수 배열 arr가 주어진다. arr를 이용해 새로운 배열 stk을 만드려고 한다. i의 초기값을 0으로 설정하고 i가 arr의 길이보다 작으면 다음을 반복한다.만약 stk이 빈 배열이라면 arri를 stk에 추가하고
문자열 여러 번 뒤집기 : 문제 링크문자열 my_string과 이차원 정수 배열 queries가 매개변수로 주어진다. queries의 원소는 s, e 형태로, my_string의 인덱스 s부터 인덱스 e까지를 뒤집으라는 의미이다. my_string에 queries의 명
무작위로 K개의 수 뽑기 : 문제 링크랜덤으로 서로 다른 k개의 수를 저장한 배열을 만드려고 한다. 적절한 방법이 떠오르지 않기 때문에 일정한 범위내에서 무작위로 수를 뽑은 후, 지금까지 나온적인 없는 수이면 배열 맨 뒤에 추가하는 방식으로 만들기로 한다. 이미 어떤
정사각형으로 만들기 : 문제 링크이차원 정수 배열 arr이 매개변수로 주어진다. arr의 행의 수가 더 많다면 열의 수가 행의 수와 같아지도록 각 행의 끝에 0을 추가하고, 열의 수가 더 많다면 행의 수가 열의 수와 같아지도록 각 열의 끝에 0을 추가한 이차원 배열을
그림 확대 : 문제 링크직사각형 형태의 그림 파일이 있고, 이 그림 파일은 1 x 1 크기의 정사각형 크기의 픽셀로 이루어져 있다. 이 그림 파일을 나타낸 문자열 배열 picture과 정수 k가 매개변수로 주어질 때, 이 그림 파일을 가로 세로로 k배 늘린 그림 파일을
전국 대회 선발 고사 : 문제 링크0번부터 n - 1번까지 n명의 학생 중 3명을 선발하는 전국 대회 선발 고사를 보았다. 등수가 높은 3명을 선발해야 하지만, 개인 사정으로 전국 대회에 참여하지 못하는 학생들이 있어 참여가 가능한 학생 중 등수가 높은 3명을 선발하기
배열 만들기 2 : 문제 링크정수 l과 r이 주어졌을 때, l이상 r이하의 정수 중에서 숫자 "0"과 "5"로만 이루어진 모든 정수를 오름차순을 저장한 배열을 return (그러한 정수가 없다면, -1이 담긴 배열을 return)조건을 만족하는 정수를 저장할 정수형 벡
코드 처리하기 : 문제 링크문자열 code가 주어진다. code를 앞에서부터 읽으면서 만약 문자가 "1"이면 mode를 바꾼다. mode에 따라 code를 읽어가면서 문자열 ret을 만들어낸다. mode는 0과 1이 있으며, idx를 0부터 code의 길이 - 1까지
배열 조각하기 : 문제 링크정수 배열 arr와 query가 주어진다. query를 순회하면서 다음 작업을 반복한다.짝수 인덱스에서는 arr에서 queryi번 인덱스를 제외하고 배열의 queryi번 인덱스 뒷부분을 잘라서 버림.홀수 인덱스에서는 arr에서 queryi번
주사위 게임 3 : 문제 링크1부터 6까지 숫자가 적힌 주사위가 네 개 있다. 네 주사위를 굴렸을 때 나온 숫자에 따라 다음과 같은 점수를 얻는다.네 주사위에서 나온 숫자가 모두 p로 같다면 1111 x p점을 얻는다.세 주사위에서 나온 숫자가 p로 같고 나머지 다른