본문 바로가기

개발46

[백준] 한국이 그리울 땐 서버에 접속하지(9996), C++ 🔗 문제 링크https://www.acmicpc.net/problem/9996 ✍🏻 문제 설명💁🏻‍♀️ 내 풀이*패턴 해석 주의이 문제는 놓칠 수 있는 부분이 있었다. 바로 패턴이다. 문제 예제를 보면 'a*d' , 'h*n'이러한 형식이다. 그래서 *앞뒤로 문자 1개만 올 수 있다고 착각할 수 있는 점을 주의하자! (제가 착각했어요 ㅎㅎ) *이 한 개만 존재하는 것이지 문자열의 패턴은 더 많을 수 있다. 그리고 문제 풀이의 키를 *에서 가져오면 된다. * 기준으로 앞과 뒤의 문자열을 잘라서 비교를 하면 되는 것이다. 자르는 것은 C++의 substr() 함수를 사용하자. substr() 함수#include #include using namespace std;int main() { strin.. 2024. 11. 12.
[백준] ROT13(11655), C++ 🔗 문제 링크https://www.acmicpc.net/problem/11655 ✍🏻 문제 설명💁🏻‍♀️ 내 풀이공백이 있는 문자열을 입력 받아야 하니 getline()함수를 사용하면 된다. [ getline함수 사용 예시 ]#include #include using namespace std;int main(){ string s; getline(cin, s); cout  그리고 ROT13은 기본 문자에서 +13을 한 값으로 암호화해주는 알고리즘으로, 입력 받은 문자열들을 +13으로 암호화해서 반환해주면 된다. 마지막으로 주의할 점은 대문자와 소문자를 분류하여 암호화해줘야 한다는 것과 +13 했을 때 해당 대문자, 소문자 아스키코드 범위를 넘어서면 -26을 해줘서 다시 범위 안에서 .. 2024. 11. 12.
[백준] 농구 경기(1159), C++ 🔗 문제 링크https://www.acmicpc.net/problem/1159  ✍🏻 문제 설명💁🏻‍♀️ 내 풀이이런 문제는 counting 배열을 생각하면 된다. 거기에 아스키코드 사용하여 풀면된다. 자세히 풀이를 해보면 선수 수만큼 모두 String으로 받고 앞글자만 Counting 배열에 넣어주면 된다. 그리고 5보다 크거나 같으면 순서대로 최종 출력 String에 넣어주면 된다. 이 문제가 조금 어렵다면, 아래 문제를 먼저 풀어보기를 추천!! 똑같이 counting배열과 아스키코드 사용하는 조금 더 쉬운 문제이다!https://seize-the-day9.tistory.com/46 [백준] 알파벳 개수(10808), C++🔗 문제 링크https://www.acmicpc.net/problem.. 2024. 11. 11.
[백준] 팰린드롬인지 확인하기(10988), C++ 🔗 문제 링크https://www.acmicpc.net/problem/10988✍🏻 문제 설명💁🏻‍♀️ 내 풀이팰린드롬이란 앞으로 읽을 때와 거꾸로 읽을 때 똑같은 단어이다. 정말 간단한 예를 들면 OㅅO같은 문자인 것이다. 거꾸로 돌려 읽어도 똑같다! 여기서 거꾸로가 핵심이다! 그냥 reverse해서 같은 문자열을 찾으면 된다! C++ revserse함수 사용#include reverse(str.begin(), str.end());🤖 코드#include #include using namespace std;int main(){ string str, oringStr; cin>> str; oringStr = str; reverse(str.begin(), str.end()); if(oringStr =.. 2024. 11. 11.
[백준] 트럭주차(2979), C++ 🔗 문제 링크https://www.acmicpc.net/problem/2979✍🏻 문제 설명💁🏻‍♀️ 내 풀이이 문제는 A, B, C 상황을 이해하는 게 중요하다. 각각 A, B, C 상황을 예제로 보면 아래와 같다.첫 번째 1번은 1-6까지, 2번은 3-5까지, 3번은 2-8까지이고, 1대의 차만 주차되어 있는 시간은 A, 2대 시간에는 B, 3대 시간 C의 값을 각각 지불하면 되는 것 이다. 주의 할 점1. 각 구간의 지불 값은 각 차마다 지불하는 값이다. 예를 들어 B구간의 경우 1분마다 B의 값이고 2대가 각각 B기준으로 값을 지불해야 한다는 것.2. 예를 들어 1-6의 경우 1에 오고 6에 떠난 것이니 1이상 6미만으로 생각해서 계산해야 한다. 나머지 시간도 동일하게 계산. A -> 3 .. 2024. 11. 11.
[백준] 알파벳 개수(10808), C++ 🔗 문제 링크https://www.acmicpc.net/problem/10808✍🏻 문제 설명💁🏻‍♀️ 내 풀이아스키코드를 사용해서 풀면 된다! 대문자 A는 65부터 시작, 소문자 a는 97부터 시작 65-90 A-Z Uppercase letters97-122 a-z Lowercase letters 🤖 코드#include using namespace std;int main(){ int Alpha[26] = {0,}; string c; cin >> c; for (int i = 0; i 2024. 11. 10.