일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | ||||
4 | 5 | 6 | 7 | 8 | 9 | 10 |
11 | 12 | 13 | 14 | 15 | 16 | 17 |
18 | 19 | 20 | 21 | 22 | 23 | 24 |
25 | 26 | 27 | 28 | 29 | 30 | 31 |
- 5월
- 개인 프로젝트
- 2월
- 3월
- 기초
- 2022년
- 프로그래머스
- 코딩 테스트
- 다이나믹 프로그래밍
- c++
- 게임 엔진 공부
- 코딩 기초 트레이닝
- 2024년
- todolist
- 유니티
- 10월
- 수학
- 골드메탈
- 2023년
- 자료 구조
- 단계별로 풀어보기
- 2025년
- 4월
- C/C++
- 1월
- 백준
- 유니티 심화과정
- 7월
- 개인 프로젝트 - 런앤건
- 입문
- Today
- Total
기록 보관소
[프로그래머스] 코딩 기초 트레이닝 PART 16(C++) 본문
프로그래머스 코딩 테스트 연습 : 코딩 기초 트레이닝(C++)
https://school.programmers.co.kr/learn/challenges?order=recent&languages=cpp&partIds=44139&page=4
코딩테스트 연습 | 프로그래머스 스쿨
개발자 취업의 필수 관문 코딩테스트를 철저하게 연습하고 대비할 수 있는 문제를 총망라! 프로그래머스에서 선발한 문제로 유형을 파악하고 실력을 업그레이드해 보세요!
school.programmers.co.kr
프로그래머스 코딩 기초 트레이닝 : 대문자로 바꾸기
https://school.programmers.co.kr/learn/courses/30/lessons/181877
프로그래머스
코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.
programmers.co.kr
문제 설명
알파벳으로 이루어진 문자열 myString이 주어집니다.
모든 알파벳을 대문자로 변환하여 return 하는 solution 함수를 완성해 주세요.
제한사항
- 1 ≤ myString의 길이 ≤ 100,000
- myString은 알파벳으로 이루어진 문자열입니다.
입출력 예
코드
#include <string>
#include <vector>
#include <algorithm>
using namespace std;
string solution(string myString) {
transform(myString.begin(), myString.end(), myString.begin(), ::toupper);
return myString;
}
결과
프로그래머스 코딩 기초 트레이닝 : 소문자로 바꾸기
https://school.programmers.co.kr/learn/courses/30/lessons/181876
프로그래머스
코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.
programmers.co.kr
문제 설명
알파벳으로 이루어진 문자열 myString이 주어집니다.
모든 알파벳을 소문자로 변환하여 return 하는 solution 함수를 완성해 주세요.
제한사항
- 1 ≤ myString의 길이 ≤ 100,000
- myString은 알파벳으로 이루어진 문자열입니다.
입출력 예
코드
#include <string>
#include <vector>
#include <algorithm>
using namespace std;
string solution(string myString) {
transform(myString.begin(), myString.end(), myString.begin(), ::tolower);
return myString;
}
결과
프로그래머스 코딩 기초 트레이닝 : 배열에서 문자열 대소문자 변환하기
https://school.programmers.co.kr/learn/courses/30/lessons/181875
프로그래머스
코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.
programmers.co.kr
문제 설명
문자열 배열 strArr가 주어집니다.
모든 원소가 알파벳으로만 이루어져 있을 때, 배열에서 홀수번째 인덱스의 문자열은 모든 문자를 대문자로, 짝수번째 인덱스의 문자열은 모든 문자를 소문자로 바꿔서 반환하는 solution 함수를 완성해 주세요.
제한사항
- 1 ≤ strArr ≤ 20
- 1 ≤ strArr의 원소의 길이 ≤ 20
- strArr의 원소는 알파벳으로 이루어진 문자열 입니다.
입출력 예
코드
#include <string>
#include <vector>
#include <algorithm>
using namespace std;
vector<string> solution(vector<string> strArr) {
for (int i = 0; i < strArr.size(); i++) {
if (i % 2 == 0)
transform(strArr[i].begin(), strArr[i].end(), strArr[i].begin(), ::tolower);
else
transform(strArr[i].begin(), strArr[i].end(), strArr[i].begin(), ::toupper);
}
return strArr;
}
// 다른 사람의 풀이 : 범위 기반 for문을 사용하는 방법
#include <string>
#include <vector>
#include <algorithm>
using namespace std;
vector<string> solution(vector<string> strArr) {
bool lower = true;
for(auto& str : strArr)
{
if(lower)
{
transform(str.begin(),str.end(),str.begin(),::tolower);
}
else
{
transform(str.begin(),str.end(),str.begin(),::toupper);
}
lower = !lower;
}
return strArr;
}
결과
프로그래머스 코딩 기초 트레이닝 : A 강조하기
https://school.programmers.co.kr/learn/courses/30/lessons/181874
프로그래머스
코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.
programmers.co.kr
문제 설명
문자열 myString이 주어집니다.
myString에서 알파벳 "a"가 등장하면 전부 "A"로 변환하고, "A"가 아닌 모든 대문자 알파벳은 소문자 알파벳으로 변환하여 return 하는 solution 함수를 완성하세요.
제한사항
- 1 ≤ myString의 길이 ≤ 20
- myString은 알파벳으로 이루어진 문자열입니다.
입출력 예
코드
#include <string>
#include <vector>
#include <algorithm>
using namespace std;
string solution(string myString) {
for (auto &str : myString) {
if (str == 'a')
str = toupper(str);
else if (isupper(str) && str != 'A')
str = tolower(str);
}
return myString;
}
// 다른 사람의 풀이 : transform과 삼항연산자를 사용하는 방법
#include <string>
#include <algorithm>
using namespace std;
string solution(string s) {
transform(s.begin(), s.end(), s.begin(), [](char& c) {return (c == 'a' || c == 'A') ? 'A' : tolower(c); });
return s;
}
결과
프로그래머스 코딩 기초 트레이닝 : 특정한 문자를 대문자로 바꾸기
https://school.programmers.co.kr/learn/courses/30/lessons/181873
프로그래머스
코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.
programmers.co.kr
문제 설명
영소문자로 이루어진 문자열 my_string과 영소문자 1글자로 이루어진 문자열 alp가 매개변수로 주어질 때, my_string에서 alp에 해당하는 모든 글자를 대문자로 바꾼 문자열을 return 하는 solution 함수를 작성해 주세요.
제한사항
- 1 ≤ my_string의 길이 ≤ 1,000
입출력 예
코드
#include <string>
#include <vector>
#include <algorithm>
using namespace std;
string solution(string my_string, string alp) {
for (auto &str : my_string)
if (alp.find(str) != string::npos)
str = toupper(str);
return my_string;
}
// 다른 사람의 풀이 : 아스키 코드를 이용하는 방법
#include <string>
#include <vector>
using namespace std;
string solution(string my_string, string alp) {
for(auto& v : my_string)
{
if(v == alp[0])
{
v -= 32;
}
}
return my_string;
}
결과
여담
마지막 문제 '특정한 문자를 대문자로 바꾸기'의 경우 alp가 string이고, 범위 기반 for문에서의 문자가 char여서 비교하는 것에서 조금 막혔었다.
그래서 고민 끝에 그냥 find를 사용해서 해결했는데... 바로 아래 다른 사람의 풀이를 보고 단순히 인덱스만 붙이면 되는걸 깨달았다.
너무 바보가 된 것 같아서 좀 부끄러웠다. 왜 나는 저 생각을 못했을까... 갈 길이 먼 것 같다.
기초 트레이닝에서 이러면 안되는데ㅋㅋ...
'코딩 테스트 > 프로그래머스' 카테고리의 다른 글
[프로그래머스] 코딩 기초 트레이닝 PART 18(C++) (0) | 2024.02.08 |
---|---|
[프로그래머스] 코딩 기초 트레이닝 PART 17(C++) (0) | 2024.02.05 |
[프로그래머스] 코딩 기초 트레이닝 PART 15(C++) (0) | 2024.02.01 |
[프로그래머스] 코딩 기초 트레이닝 PART 14(C++) (0) | 2024.01.30 |
[프로그래머스] 코딩 기초 트레이닝 PART 13(C++) (0) | 2024.01.29 |