본문 바로가기

전체 글152

수들의 합 - 1789 시간 제한 메모리 제한 제출 정답 맞힌 사람 정답 비율 2 초 128 MB 23402 9919 8396 43.298% 문제 서로 다른 N개의 자연수의 합이 S라고 한다. S를 알 때, 자연수 N의 최댓값은 얼마일까? 입력 첫째 줄에 자연수 S(1 ≤ S ≤ 4,294,967,295)가 주어진다. 출력 첫째 줄에 자연수 N의 최댓값을 출력한다. 예제 입력 1 200 예제 출력 1 19 Solution https://github.com/anothel/BOJ/blob/main/python/1789_Add_of_numbers.py GitHub - anothel/BOJ Contribute to anothel/BOJ development by creating an account on GitHub. github.co.. 2022. 2. 19.
위대한 사기꾼 - 3996 시간 제한 메모리 제한 제출 정답 맞힌 사람 정답 비율 1 초 128 MB 322 81 67 32.367% 문제 믿기 힘들겠지만 상근이는 이번 겨울 방학에 달에 갔다 왔다. 방학이 끝나고 다시 학교로 돌아온 상근이는 친구들에게 달나라 사람(Selenites)을 만났던 이야기를 해주었다. 상근이는 달에서 사용하는 수 체계를 주로 설명해주었다. 달에서는 음의 진법을 사용한다. 입력 출력 첫째 줄에 상근이가 달에서 생활하면서 외운 숫자의 개수를 출력한다. 예제 입력 1 21 3 예제 출력 1 9 예제 입력 2 21 2 예제 출력 2 8 힌트 첫 번째 예제에서 상근이는 0, 1, 2, 9, 10, 11, 18, 19, 20을 외웠다. 19는 3진법과 -3진법에서 19 = 2013 = 201-3으로 표현이 같다... 2022. 2. 18.
화성 수학 - 5355 시간 제한 메모리 제한 제출 정답 맞힌 사람 정답 비율 1 초 128 MB 5640 3416 3103 62.852% 문제 겨울 방학에 달에 다녀온 상근이는 여름 방학 때는 화성에 갔다 올 예정이다. (3996번) 화성에서는 지구와는 조금 다른 연산자 @, %, #을 사용한다. @는 3을 곱하고, % 는 5를 더하며, #는 7을 빼는 연산자이다. 따라서, 화성에서는 수학 식의 가장 앞에 수가 하나 있고, 그다음에는 연산자가 있다. 입력 첫째 줄에 테스트 케이스의 개수 T가 주어진다. 다음 줄에는 화성 수학식이 한 줄에 하나씩 주어진다. 입력으로 주어지는 수는 정수이거나 소수 첫째 자리까지 주어지며, 0 이상 100 이하이다. 연산자는 최대 3개 주어진다. 출력 각 테스트 케이스에 대해서, 화성 수학식의 결.. 2022. 2. 17.
시험 성적 - 9498 시간 제한 메모리 제한 제출 정답 맞힌 사람 정답 비율 1 초 128 MB 206701 114084 98734 56.000% 문제 시험 점수를 입력받아 90 ~ 100점은 A, 80 ~ 89점은 B, 70 ~ 79점은 C, 60 ~ 69점은 D, 나머지 점수는 F를 출력하는 프로그램을 작성하시오. 입력 첫째 줄에 시험 점수가 주어진다. 시험 점수는 0보다 크거나 같고, 100보다 작거나 같은 정수이다. 출력 시험 성적을 출력한다. 예제 입력 1 100 예제 출력 1 A Solution https://github.com/anothel/BOJ/blob/main/python/9498_Credit.py 후기 파이썬은 기존에 내가 사용하던 C/C++와 상당히 비슷하면서도 새로운 문법을 가지고 있다. if, els.. 2022. 2. 16.
오븐 시계 - 2525 시간 제한 메모리 제한 제출 정답 맞힌 사람 정답 비율 1 초 128 MB 26150 11894 10594 46.626% 문제 KOI 전자에서는 건강에 좋고 맛있는 훈제오리구이 요리를 간편하게 만드는 인공지능 오븐을 개발하려고 한다. 인공지능 오븐을 사용하는 방법은 적당한 양의 오리 훈제 재료를 인공지능 오븐에 넣으면 된다. 그러면 인공지능 오븐은 오븐구이가 끝나는 시간을 분 단위로 자동적으로 계산한다. 또한, KOI 전자의 인공지능 오븐 앞면에는 사용자에게 훈제오리구이 요리가 끝나는 시각을 알려 주는 디지털 시계가 있다. 훈제오리구이를 시작하는 시각과 오븐구이를 하는 데 필요한 시간이 분단위로 주어졌을 때, 오븐구이가 끝나는 시각을 계산하는 프로그램을 작성하시오. 입력 첫째 줄에는 현재 시각이 나온다... 2022. 2. 16.
초콜릿 자르기 - 2163 시간 제한 메모리 제한 제출 정답 맞힌 사람 정답 비율 2 초 128 MB 23850 16547 14514 71.727% 문제 정화는 N×M 크기의 초콜릿을 하나 가지고 있다. 초콜릿은 금이 가 있는 모양을 하고 있으며, 그 금에 의해 N×M개의 조각으로 나눠질 수 있다. 초콜릿의 크기가 너무 크다고 생각한 그녀는 초콜릿을 친구들과 나눠 먹기로 했다. 이를 위해서 정화는 초콜릿을 계속 쪼개서 총 N×M개의 조각으로 쪼개려고 한다. 초콜릿을 쪼갤 때에는 초콜릿 조각을 하나 들고, 적당한 위치에서 초콜릿을 쪼갠다. 초콜릿을 쪼갤 때에는 금이 가 있는 위치에서만 쪼갤 수 있다. 이와 같이 초콜릿을 쪼개면 초콜릿은 두 개의 조각으로 나눠지게 된다. 이제 다시 이 중에서 초콜릿 조각을 하나 들고, 쪼개는 과정을 .. 2022. 2. 16.
A+B - 7 - 11021 시간 제한 메모리 제한 제출 정답 맞힌 사람 정답 비율 1 초 256 MB 147827 73641 64900 50.207% 문제 두 정수 A와 B를 입력받은 다음, A+B를 출력하는 프로그램을 작성하시오. 입력 첫째 줄에 테스트 케이스의 개수 T가 주어진다. 각 테스트 케이스는 한 줄로 이루어져 있으며, 각 줄에 A와 B가 주어진다. (0 < A, B < 10) 출력 각 테스트 케이스마다 "Case #x: "를 출력한 다음, A+B를 출력한다. 테스트 케이스 번호는 1부터 시작한다. 예제 입력 1 5 1 1 2 3 3 4 9 8 5 2 예제 출력 1 Case #1: 2 Case #2: 5 Case #3: 7 Case #4: 17 Case #5: 7 Solution https://github.com/ano.. 2022. 2. 16.
Create Phone Number Write a function that accepts an array of 10 integers (between 0 and 9), that returns a string of those numbers in the form of a phone number. Example createPhoneNumber(int[10]{1, 2, 3, 4, 5, 6, 7, 8, 9, 0}) // => returns "(123) 456-7890" The returned format must be correct in order to complete this challenge. Don't forget the space after the closing parentheses! Solution #include std::string ge.. 2022. 2. 15.
Row of the odd triangle Given a triangle of consecutive odd numbers: 1 3 5 7 9 11 13 15 17 19 21 23 25 27 29 ... find the triangle's row knowing its index (the rows are 1-indexed), e.g.: odd_row(1) == [1] odd_row(2) == [3, 5] odd_row(3) == [7, 9, 11] Note: your code should be optimized to handle big inputs. Solution #include std::vector odd_row(unsigned long long n) { std::vector vResult; unsigned long long c = n * (n-.. 2022. 2. 14.
피보나치 함수 - 1003 시간 제한 메모리 제한 제출 정답 맞힌 사람 정답 비율 0.25 초 (추가 시간 없음) 128 MB 146939 41099 32063 30.981% 문제 다음 소스는 N번째 피보나치 수를 구하는 C++ 함수이다. int fibonacci(int n) { if (n == 0) { printf("0"); return 0; } else if (n == 1) { printf("1"); return 1; } else { return fibonacci(n‐1) + fibonacci(n‐2); } } fibonacci(3)을 호출하면 다음과 같은 일이 일어난다. fibonacci(3)은 fibonacci(2)와 fibonacci(1) (첫 번째 호출)을 호출한다. fibonacci(2)는 fibonacci(1) (두.. 2022. 2. 13.
터렛 - 1002 시간 제한 메모리 제한 제출 정답 맞힌 사람 정답 비율 2 초 128 MB 142436 29400 23319 21.452% 문제 조규현과 백승환은 터렛에 근무하는 직원이다. 하지만 워낙 존재감이 없어서 인구수는 차지하지 않는다. 다음은 조규현과 백승환의 사진이다. 이석원은 조규현과 백승환에게 상대편 마린(류재명)의 위치를 계산하라는 명령을 내렸다. 조규현과 백승환은 각각 자신의 터렛 위치에서 현재 적까지의 거리를 계산했다. 조규현의 좌표 (x1, y1)와 백승환의 좌표 (x2, y2)가 주어지고, 조규현이 계산한 류재명과의 거리 r1과 백승환이 계산한 류재명과의 거리 r2가 주어졌을 때, 류재명이 있을 수 있는 좌표의 수를 출력하는 프로그램을 작성하시오. 입력 첫째 줄에 테스트 케이스의 개수 T가 주어진.. 2022. 2. 12.
형상 관리 툴 선택 1 - 깃랩, 깃헙, 비트버킷? Bitbucket이요? 그건 뭐죠? 지인들께 어떤 종류의 소스 코드 관리 도구를 사용하냐고 질문했을 때 받은 대답 중 특이한 대답이 하나 있었다. 바로 git이었는데, 깃랩도 깃허브도, 빗버킷도 아닌 git이었다. 관리는 Sourcetree를 사용한다고 했다. 하긴 그 친구는 학생 때부터 그런 본연적인 것을 좋아했다. 예를 들어보자면 포토샵으로 할 일을 그림판으로 하는 그런 걸 좋아했던 친구이다. 나는 git으로만 사용하진 못하겠고, 잘 사용하게끔 도와줄 다른 플랫폼이 웬만하면 필요하다. 그게 GitLab, GitHub 아니면 Bitbucket이다. 이런 게 있으면 생산성 높은 일을 할 자신이 있다. 좋은 게 있는 데 사용하지 않아야 할 이유는 없다고 생각한다(어차피 지금 회사에는 이미 있다). 아마도 .. 2022. 2. 11.
애자일 소프트웨어 개발 선언 애자일 소프트웨어 개발 선언 (Manifesto for Agile Software Development) 우리는 소프트웨어를 개발하고, 또 다른 사람의 개발을 도와주면서 소프트웨어 개발의 더 나은 방법들을 찾아가고 있다. 이 작업을 통해 우리는 다음을 가치 있게 여기게 되었다: 공정과 도구보다 개인과 상호작용을 포괄적인 문서보다 작동하는 소프트웨어를 계약 협상보다 고객과의 협력을 계획을 따르기보다 변화에 대응하기를 가치 있게 여긴다. 이 말은, 왼쪽에 있는 것들도 가치가 있지만, 우리는 오른쪽에 있는 것들에 더 높은 가치를 둔다는 것이다. Kent Beck Mike Beedle Arie van Bennekum Alistair Cockburn Ward Cunningham Martin Fowler James.. 2022. 2. 10.
형상 관리 도구 뭐 쓰세요? 깃? SVN? 형상관리 도구: Git? SVN? 혹시 Plastic SCM?? 정의 소프트웨어 형상 관리, 구성 관리(SCM, Software Configuration Management), 버전 관리 시스템(VCS, Version Control System), 소스 관리(source control), 소스 코드 관리(SCM, Source Code Management)는 일반적으로 모두 동일한 의미 하며, 특히 형상 관리는 소스 코드뿐 아니라 개발 환경, 빌드 구조 등 전반적인 환경 전반적인 내역에 대한 관리 체계를 정의한다. 즉, 하나의 소프트웨어 산출물(binary)을 생성하기 위해 필요로 하는 아이템들과 공정 방식의 정의, 그리고 재생성을 위한 전반적인 환경까지 베이스라인(baseline)화하여 관리하는 방식 전.. 2022. 2. 9.
데브옵스란 무엇인가 1 데브옵스: 빠른 서비스 적용을 위해 개발과 운영을 동시에 하는 메커니즘 데브옵스의 정의: 얼른 일 마치고 집에 빨리 가기 위해 만든 술수 소프트웨어 개발 방법론의 하나로, 개발(development)과 운영(operation)의 합성어이다. 개발 담당자와 운영 담당자가 연계하여 협력하는 개발 방법론을 말한다며 두산백과는 얘기하고 있다. 하지만 데브옵스라는 단어의 의미를 딱히 이렇다 하게 정하지 않았다고 위키에서는 말하고 있다. 사실 위에 스스로 내린 정의는 조금 오버한 감이 없이 않아 있는 것 같고, 그나마 진정성이 보이는 의미는 이 정도가 되지 않을까 싶다. 팀 지원, 팀 간 커뮤니케이션 및 공동 작업, 기술 자동화를 강조하며, 소프트웨어 개발 팀과 IT 팀 간의 프로세스를 자동화하고 통합하는 일련의 .. 2022. 2. 8.
2022 KAKAO BLIND RECRUITMENT > 신고 결과 받기 문제 설명 신입사원 무지는 게시판 불량 이용자를 신고하고 처리 결과를 메일로 발송하는 시스템을 개발하려 합니다. 무지가 개발하려는 시스템은 다음과 같습니다. 각 유저는 한 번에 한 명의 유저를 신고할 수 있습니다. 신고 횟수에 제한은 없습니다. 서로 다른 유저를 계속해서 신고할 수 있습니다. 한 유저를 여러 번 신고할 수도 있지만, 동일한 유저에 대한 신고 횟수는 1회로 처리됩니다. k번 이상 신고된 유저는 게시판 이용이 정지되며, 해당 유저를 신고한 모든 유저에게 정지 사실을 메일로 발송합니다. 유저가 신고한 모든 내용을 취합하여 마지막에 한꺼번에 게시판 이용 정지를 시키면서 정지 메일을 발송합니다. 다음은 전체 유저 목록이 ["muzi", "frodo", "apeach", "neo"]이고, k = 2.. 2022. 1. 21.
연습문제 > N개의 최소공배수 문제 설명 두 수의 최소공배수(Least Common Multiple)란 입력된 두 수의 배수 중 공통이 되는 가장 작은 숫자를 의미합니다. 예를 들어 2와 7의 최소공배수는 14가 됩니다. 정의를 확장해서, n개의 수의 최소공배수는 n 개의 수들의 배수 중 공통이 되는 가장 작은 숫자가 됩니다. n개의 숫자를 담은 배열 arr이 입력되었을 때 이 수들의 최소공배수를 반환하는 함수, solution을 완성해 주세요. 제한 사항 arr은 길이 1이상, 15이하인 배열입니다. arr의 원소는 100 이하인 자연수입니다. 입출력 예 arr result [2,6,8,14] 168 [1,2,3] 6 Solution #include #include using namespace std; int gcd(const in.. 2022. 1. 21.
깊이/너비 우선 탐색(DFS/BFS) > 타겟 넘버 문제 설명 n개의 음이 아닌 정수가 있습니다. 이 수를 적절히 더하거나 빼서 타겟 넘버를 만들려고 합니다. 예를 들어 [1, 1, 1, 1, 1]로 숫자 3을 만들려면 다음 다섯 방법을 쓸 수 있습니다. -1+1+1+1+1 = 3 +1-1+1+1+1 = 3 +1+1-1+1+1 = 3 +1+1+1-1+1 = 3 +1+1+1+1-1 = 3 사용할 수 있는 숫자가 담긴 배열 numbers, 타겟 넘버 target이 매개변수로 주어질 때 숫자를 적절히 더하고 빼서 타겟 넘버를 만드는 방법의 수를 return 하도록 solution 함수를 작성해주세요. 제한사항 주어지는 숫자의 개수는 2개 이상 20개 이하입니다. 각 숫자는 1 이상 50 이하인 자연수입니다. 타겟 넘버는 1 이상 1000 이하인 자연수입니다. .. 2021. 12. 3.
위클리 챌린지 > 최소직사각형 문제 설명 명함 지갑을 만드는 회사에서 지갑의 크기를 정하려고 합니다. 다양한 모양과 크기의 명함들을 모두 수납할 수 있으면서, 작아서 들고 다니기 편한 지갑을 만들어야 합니다. 이러한 요건을 만족하는 지갑을 만들기 위해 디자인팀은 모든 명함의 가로길이와 세로 길이를 조사했습니다. 아래 표는 4가지 명함의 가로길이와 세로 길이를 나타냅니다. 명함 번호 가로 길이 세로 길이 1 60 50 2 30 70 3 60 30 4 80 40 가장 긴 가로길이와 세로 길이가 각각 80, 70이기 때문에 80(가로) x 70(세로) 크기의 지갑을 만들면 모든 명함들을 수납할 수 있습니다. 하지만 2번 명함을 가로로 눕혀 수납한다면 80(가로) x 50(세로) 크기의 지갑으로 모든 명함들을 수납할 수 있습니다. 이때의 지.. 2021. 12. 3.
월간 코드 챌린지 시즌3 > 나머지가 1이 되는 수 찾기 문제 설명 자연수 n이 매개변수로 주어집니다. n을 x로 나눈 나머지가 1이 되도록 하는 가장 작은 자연수 x를 return 하도록 solution 함수를 완성해주세요. 답이 항상 존재함은 증명될 수 있습니다. 제한사항 3 ≤ n ≤ 1,000,000 입출력 예 n result 10 3 12 11 입출력 예 설명 입출력 예 #1 10을 3으로 나눈 나머지가 1이고, 3보다 작은 자연수 중에서 문제의 조건을 만족하는 수가 없으므로, 3을 return 해야 합니다. 입출력 예 #2 12를 11로 나눈 나머지가 1이고, 11보다 작은 자연수 중에서 문제의 조건을 만족하는 수가 없으므로, 11을 return 해야 합니다. Solution #include #include using namespace std; in.. 2021. 12. 3.
위클리 챌린지 > 부족한 금액 계산하기 문제 설명 새로 생긴 놀이기구는 인기가 매우 많아 줄이 끊이질 않습니다. 이 놀이기구의 원래 이용료는 price원인데, 놀이기구를 N 번 째 이용한다면 원래 이용료의 N배를 받기로 하였습니다. 즉, 처음 이용료가 100이었다면 2번째에는 200, 3번째에는 300으로 요금이 인상됩니다. 놀이기구를 count번 타게 되면 현재 자신이 가지고 있는 금액에서 얼마가 모자라는지를 return 하도록 solution 함수를 완성하세요. 단, 금액이 부족하지 않으면 0을 return 하세요. 제한사항 놀이기구의 이용료 price : 1 ≤ price ≤ 2,500, price는 자연수 처음 가지고 있던 금액 money : 1 ≤ money ≤ 1,000,000,000, money는 자연수 놀이기구의 이용 횟수 co.. 2021. 12. 3.
2018 KAKAO BLIND RECRUITMENT > [1차] 비밀지도 문제 설명 네오는 평소 프로도가 비상금을 숨겨놓는 장소를 알려줄 비밀지도를 손에 넣었다. 그런데 이 비밀지도는 숫자로 암호화되어 있어 위치를 확인하기 위해서는 암호를 해독해야 한다. 다행히 지도 암호를 해독할 방법을 적어놓은 메모도 함께 발견했다. 지도는 한 변의 길이가 n인 정사각형 배열 형태로, 각 칸은 "공백"(" ") 또는 "벽"("#") 두 종류로 이루어져 있다. 전체 지도는 두 장의 지도를 겹쳐서 얻을 수 있다. 각각 "지도 1"과 "지도 2"라고 하자. 지도 1 또는 지도 2 중 어느 하나라도 벽인 부분은 전체 지도에서도 벽이다. 지도 1과 지도 2에서 모두 공백인 부분은 전체 지도에서도 공백이다. "지도 1"과 "지도 2"는 각각 정수 배열로 암호화되어 있다. 암호화된 배열은 지도의 각 가.. 2021. 12. 2.
2018 KAKAO BLIND RECRUITMENT > [1차] 다트 게임 문제 설명 카카오톡에 뜬 네 번째 별! 심심할 땐? 카카오톡 게임별~ 카카오톡 게임별의 하반기 신규 서비스로 다트 게임을 출시하기로 했다. 다트 게임은 다트판에 다트를 세 차례 던져 그 점수의 합계로 실력을 겨루는 게임으로, 모두가 간단히 즐길 수 있다. 갓 입사한 무지는 코딩 실력을 인정받아 게임의 핵심 부분인 점수 계산 로직을 맡게 되었다. 다트 게임의 점수 계산 로직은 아래와 같다. 다트 게임은 총 3번의 기회로 구성된다. 각 기회마다 얻을 수 있는 점수는 0점에서 10점까지이다. 점수와 함께 Single(S), Double(D), Triple(T) 영역이 존재하고 각 영역 당첨 시 점수에서 1제곱, 2제곱, 3제곱 (점수1 , 점수2 , 점수3 )으로 계산된다. 옵션으로 스타상(*) , 아차상(#.. 2021. 12. 2.
연습문제 > 가운데 글자 가져오기 문제 설명 단어 s의 가운데 글자를 반환하는 함수, solution을 만들어 보세요. 단어의 길이가 짝수라면 가운데 두 글자를 반환하면 됩니다. 재한사항 s는 길이가 1 이상, 100이하인 스트링입니다. 입출력 예 s return "abcde" "c" "qwer" "we" Solution #include #include #include using namespace std; string solution(string s) { string answer = ""; if (s.length() & 1 == 1) { answer = s.at(s.length() / 2); } else { answer += s.at(s.length() / 2 - 1); answer += s.at(s.length() / 2); } ret.. 2021. 12. 2.
연습문제 > 나누어 떨어지는 숫자 배열 문제 설명 array의 각 element 중 divisor로 나누어 떨어지는 값을 오름차순으로 정렬한 배열을 반환하는 함수, solution을 작성해주세요. divisor로 나누어 떨어지는 element가 하나도 없다면 배열에 -1을 담아 반환하세요. 제한사항 arr은 자연수를 담은 배열입니다. 정수 i, j에 대해 i ≠ j 이면 arr[i] ≠ arr[j] 입니다. divisor는 자연수입니다. array는 길이 1 이상인 배열입니다. 입출력 예 arr divisor return [5, 9, 7, 10] 5 [5, 10] [2, 36, 1, 3] 1 [1, 2, 3, 36] [3,2,6] 10 [-1] 입출력 예 설명 입출력 예#1 arr의 원소 중 5로 나누어 떨어지는 원소는 5와 10입니다. 따라.. 2021. 12. 1.
연습문제 > 두 정수 사이의 합 문제 설명 두 정수 a, b가 주어졌을 때 a와 b 사이에 속한 모든 정수의 합을 리턴하는 함수, solution을 완성하세요. 예를 들어 a = 3, b = 5인 경우, 3 + 4 + 5 = 12이므로 12를 리턴합니다. 제한 조건 a와 b가 같은 경우는 둘 중 아무 수나 리턴하세요. a와 b는 -10,000,000 이상 10,000,000 이하인 정수입니다. a와 b의 대소관계는 정해져있지 않습니다. 입출력 예 a b return 3 5 12 3 3 3 5 3 12 Solution #include #include using namespace std; long long solution(const int a, const int b) { long long answer = 0; for (int i = ((b 2021. 12. 1.
연습문제 > 문자열 내 p와 y의 개수 문제 설명 대문자와 소문자가 섞여있는 문자열 s가 주어집니다. s에 'p'의 개수와 'y'의 개수를 비교해 같으면 True, 다르면 False를 return 하는 solution를 완성하세요. 'p', 'y' 모두 하나도 없는 경우는 항상 True를 리턴합니다. 단, 개수를 비교할 때 대문자와 소문자는 구별하지 않습니다. 예를 들어 s가 "pPoooyY"면 true를 return 하고 "Pyy"라면 false를 return 합니다. 제한사항 문자열 s의 길이 : 50 이하의 자연수 문자열 s는 알파벳으로만 이루어져 있습니다. 입출력 예 s answer "pPoooyY" true "Pyy" false 입출력 예 설명 입출력 예 #1 'p'의 개수 2개, 'y'의 개수 2개로 같으므로 true를 return.. 2021. 11. 30.
연습문제 > 문자열 내림차순으로 배치하기 문제 설명 문자열 s에 나타나는 문자를 큰 것부터 작은 순으로 정렬해 새로운 문자열을 리턴하는 함수, solution을 완성해주세요. s는 영문 대소문자로만 구성되어 있으며, 대문자는 소문자보다 작은 것으로 간주합니다. 제한 사항 str은 길이 1 이상인 문자열입니다. 입출력 예 s return "Zbcdefg" "gfedcbZ" Solution #include #include #include using namespace std; string solution(string s) { std::sort(s.begin(), s.end()); std::reverse(s.begin(), s.end()); return s; } 남의 코드 #include #include #include #include using na.. 2021. 11. 30.
연습문제 > 문자열 다루기 기본 문제 설명 문자열 s의 길이가 4 혹은 6이고, 숫자로만 구성돼있는지 확인해주는 함수, solution을 완성하세요. 예를 들어 s가 "a234"이면 False를 리턴하고 "1234"라면 True를 리턴하면 됩니다. 제한 사항 s는 길이 1 이상, 길이 8 이하인 문자열입니다. 입출력 예 s return "a234" false "1234" true Solution #include #include using namespace std; bool solution(string s) { if (s.length() != 4 && s.length() != 6) return false; for (auto x : s) if (x < '0' || '9' < x) return false; return true; } 남의 코.. 2021. 11. 30.
연습문제 > 문자열 내 마음대로 정렬하기 문제 설명 문자열로 구성된 리스트 strings와, 정수 n이 주어졌을 때, 각 문자열의 인덱스 n번째 글자를 기준으로 오름차순 정렬하려 합니다. 예를 들어 strings가 ["sun", "bed", "car"]이고 n이 1이면 각 단어의 인덱스 1의 문자 "u", "e", "a"로 strings를 정렬합니다. 제한 조건 strings는 길이 1 이상, 50이하인 배열입니다. strings의 원소는 소문자 알파벳으로 이루어져 있습니다. strings의 원소는 길이 1 이상, 100이하인 문자열입니다. 모든 strings의 원소의 길이는 n보다 큽니다. 인덱스 1의 문자가 같은 문자열이 여럿 일 경우, 사전순으로 앞선 문자열이 앞쪽에 위치합니다. 입출력 예 strings n return ["sun", "b.. 2021. 11. 30.